Releases: romildo/eplan
Releases · romildo/eplan
Better error handling and other fixes
- Fix indentation
- Exit from 'run' script if compilation fails
- Rename methods from 'canBe' to 'is'
- Rename method 'codegen' to 'translate'
- Rework error management
- Rename terminal symbol 'LITNUM' to 'LITREAL'
- Change type of semantic value of 'LITREAL'
- Allow scientific notation in 'real' literals
- Update documentation
Better explanation of activity 2
- Show type in GUI
- More details on activity 2
Adding semantic analysis
- Add script "run" to make it easier to test the compiler
- Add negate unary operator to EPLan
- Update documentation
- Ignore .iml files
- Rename the generated parser class
- Add location to AST
- Add unit name to lexer
- Add simple GUI
- Add more command line options
- Add type package and type representation for 'real'
- Add type mismatch error message
- Only generate code in the absense of errors
- Add semantic analysis
- Rename class 'ExpNum' to 'ExpReal'
- More flexible generation code to print the result
Small fixes
- Do not dump the LLVM module
- Update documentation
- Update documentation
- Fix syntax error in the grammar
- Don't print the syntax tree with toString
Code generation
- Add code generator using LLVM
- Add more documentation
Convert ASTs to trees of string for better output
- Add converstions
toTree
in ASTs - Add local copy of unreleased library javaslang-render.
- javaslang-render is a rendering library from the javaslang project. It can help with drawing ASTs.
- Currently there is no release of javaslang-render, therefore a binary jar was built and added to src/main/resources.
toString for ASTs
- Add dependency on commons-lang3
- Overload toString method in AST class using commons-lang3 library
Syntax trees
- Add abstract syntax tree classes
- Let the parser construct abstract syntax trees
Semantic actions for calculation
- Add semantic actions to the grammar
- The terminal symbol for literal number and the non terminal symbols receives a semantic value of type Double, corresponding to their value when evaluated.
- The semantic actions evaluate the operations indicated in each production rule, calculating the semantic value of the symbol in its left hand side.
- At the end the start symbol semantic value is the value of the whole expression.
Customize syntax errors reporting
- Override error routines in parser