Skip to content

Releases: romildo/eplan

Better error handling and other fixes

26 Oct 10:18
Compare
Choose a tag to compare
Pre-release
  • 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

24 Oct 15:25
Compare
Choose a tag to compare
Pre-release
  • Show type in GUI
  • More details on activity 2

Adding semantic analysis

24 Oct 11:44
Compare
Choose a tag to compare
Pre-release
  • 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

19 Oct 15:24
Compare
Choose a tag to compare
Small fixes Pre-release
Pre-release
  • 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

17 Oct 15:32
Compare
Choose a tag to compare
Code generation Pre-release
Pre-release
  • Add code generator using LLVM
  • Add more documentation

Convert ASTs to trees of string for better output

10 Oct 09:51
Compare
Choose a tag to compare
  • 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

10 Oct 09:30
Compare
Choose a tag to compare
toString for ASTs Pre-release
Pre-release
  • Add dependency on commons-lang3
  • Overload toString method in AST class using commons-lang3 library

Syntax trees

10 Oct 09:28
Compare
Choose a tag to compare
Syntax trees Pre-release
Pre-release
  • Add abstract syntax tree classes
  • Let the parser construct abstract syntax trees

Semantic actions for calculation

10 Oct 09:24
Compare
Choose a tag to compare
Pre-release
  • 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

10 Oct 09:16
Compare
Choose a tag to compare
Pre-release
  • Override error routines in parser