Major Area

My major is compiler & parallel computation. So I'm trying to do some research in the intersection of these two areas. One is using parallel computation to improve compiler techniques like tokenizing and parsing. The other idea is optimizing the code at compile time to achieve high-performance parallel computing. Both are my interests area. Now, I'm working in UC Riverside with Prof. Zhao and building parallel parser generator for common usage.

LLVM
Torch

Compiler

I'm interested in compiler design and programming language creation. I have made a small compiler elite-lang which is designed to changing grammar dynamically and focusing on DSL creating. I also made compiler toolchains like lexer generator and parser generator.

  • Slip - A lisp style language
  • Lex - lexical analyzer generator
  • LR_Scanner - A LALR Parser
  • DragonTooth - A new version parser with internal lexer and modern features (in progress)

Full Platform Development

As a developer, I hate the single platform exclusive software. I like cross-platform, running on everything, support everything. Sometimes I will build cross-platform desktop apps using HTML5 with Electron. To build phone apps, I will choose react-native, which is the best way for me.

What I do to support cross-platform is building cross-platform C++ libraries. Most of the libraries I made can run on multiple platforms and have been tested on different machines. I also made the tool CodeFactory to automatic run construction and testing with the support of Travis-ci and Appveyor.

Other Open Source Projects

I'm a C++ programmer who is interested in open-source software and Linux system. Here are some projects I made before:

  • SmartPtr - C++ smart pointer library with GC
  • ExIconv - Encoding auto-detection library in C
  • Submit - A small tool for submitting jobs in shared Linux machine
  • Seityan - A desktop assistant with interactive virtual avatar and voice dialogue support

Interesting Frameworks

In addition to professional fields, I also like Machine Learning and Web Development. I have learnt deep learning with CNN and LSTM, but to trainning the big dataset is quite challenging. I'm good at PHP framework phalcon and typescript, those tools can help me building the real world website. So, those frameworks I usually work with:

Contacts

Want to talk with me direct?

SEND A MAIL TO ME   or