Implementation of a compiler for C-like language. Fast backend(CXX17) and beautiful GUI(React).
Runzhong Machine, the DEEP DARK OLD MAGIC inspired from my old friend Runzhong Li.
- Jiawei Liu@ganler
- Project Manager;
- CXX backend;
- Algorithm(Both in compiler design and performance optimization);
- Junyao Li@taltalite
- React Frontend;
- Zizheng Zhong@zzznb
- Algorithm.
std::string_view
to avoid any kinds of unnecessary evil string copies(Well, that's why it has better performance).As I am a modern C++ programmer, you may need to upgrade your compiler to support C++17.
std::string_view
will boost the performance of your application!
Make sure that
node.js
is installed on your computer.
mv parse_tree ../parse_tree
mv lexcial ../lexcial
npx create-react-app parse_tree # long time to install react components
npx create-react-app lexcial
cp -r ../parse_tree/ parse_tree/
cp -r ../lexcial/ lexcial/
cd lexcial
npm install typescript
unset HOST
npm start # then you gonna see them.
cd ../parse_tree
npm install d3
npm install antd
unset HOST
npm start # then you gonna see a parse-tree. Wonderful!
Note that our procedure of lexcial analysis is parallelized(I used the
fork&join
model to analyze each line. But of course, you need to deal with multi-line comment issue first(give it a single pass!)).