Project of Compiler Design Course (BSc)
Contributors: -Saeid Dadkhah (saeid.dadkhah@live.com) -Hasti Sharifi (hastisharifi75@gmail.com)
Base input grammer is in the repository but it has some changes. -statements -> IDENTIFER[expressions] := expressions -expressions -> IDENTIFIER[expressions]
Use JFlex to process "SHLang.lex". Outputs: -Yylex.java
Use this command with bison to process "SHLang.yac" Command: bison -L JAVA SHLang.yac -v -v will generate *.output file. Outputs: -SHLang.cac (Rename this to "SHLang.java") -SHLang.output (It's optional output made by bison. This file can be generated with -v option.)
Build Yylex.java and SHLang.java (Rename *.cac output of bison to *.java).
File address of input and output codes are hard coded in first lines of SHLang.java.
Compile output.c file with GCC.
An implementation of Clean Architecture in Scala
Encoding x86_64 instructions (don't take it serious!)
Encoding x86 instructions (don't take it serious!)
~ Just Another Persian Compiler
PyFarsi Bot Compiler code
Compiler for custom language grammar (Small lang) using python
Compiler for Cool language. written using PGen, Antlr, and Java