&&&&&&&&&&& &&&&&&& &&&&&&&&( %%%%%%%%% %%%%%%%%#
&&&&&&&&&&&% &&&&&&& &&&&&&&&&&&& %%%%%%%%%%%% /%%%%%%%%%#
&&&. &&&% &&&.&&&( &&&& /&&& %%%% %%% /%%%
&&&. &&&% &&&& &&&& &&&& /&&& %&&% %%% /%%%
&&&. &&&% &&&& &&&& (&&&& %%%%% /%%%
&&&&&&&&&&&% &&&( &&&, /&&&& &&%%% /%%%
&&&&&&&&&&& #&&& &&&& *&&&&. &&&&% /%%%
&&&. &&&& &&&& ,&&&&. &&&&& /%%%
&&&. &&&&%%%%&&& /&&& %&&& /&%%
&&&. ,&&&&&&&&&&&& /&&& %&&& /&%&
&&&. &&&& &&&& &&&&&&&&&&&& %&&&&&&&&&&& /&&&&&&%%%#
&&&. &&&& (&&& &&&&&&&&&& &&&&&&&&&&& &&&&&&&&&#
...............................................................
Yet Another Pascal to C Compiler.
- GCC
- CMake
- PyQt5
- Multi-platform compatibility: Linux, Windows, Mac
- Extended Pascal grammar: eg.
record
- Custom Pascal grammar with
json
- Error handling and recovery
- Global log module
- CLI (just like
gcc
) - GUI with editer
- Lexer & Parser
- Semantic Analyse
- Code Generate
- build:
mkdir build && cd build
cmake .. && cmake --build .
- run (in folder
build
):- linux / mac:
./p2c ../example/gcd.pas
- win:
.\Debug\p2c.exe ..\example\gcd.pas
- linux / mac:
please specify the path of
grammar.json
with-g
if not running inbuild
.
- test:
ctest
> for more info: ctset -VV
- release:
cpack
- Syntax tree visualization
- CLI: more portable
- GUI: robustness
Brandon Zhang 💻 |
ZubinGou 💻 |
Jason Zhang 💻 |
Oneal 🤔 💻 📖 📢 |
Eric Wang 💻 |
Terence Deng 💻 |