-
Notifications
You must be signed in to change notification settings - Fork 2
zayac/eq
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Eq is a stream-based functional language designed for solving numerical tasks. The syntax of the Eq programming language is based on a document preparation system LaTeX. It follows that source files of the Eq can be interpreted by any LaTeX conversion tool (i.e. pdflatex, latex2html, etc.). The current version uses Python as a backend language. Version: 0.1.1 Contribution: Pavel Zaichenkov <[email protected]> Artem Shinkarov <[email protected]> In order to build the compiler do the following: $ cd build/ $ cmake .. $ make CMake cache variables can be defined: -DBUILD_LEXER=[ON|<OFF>] = Select either to build the lexer only. -DBACKEND_LANG=[<python>|sac] = Select compiler's backend. -DFIRST_CLASS_FUNCTIONS=[<ON>|OFF] = Enable or disable functions as a first-class objects. -DCFG_OUTPUT=[<ON>|OFF] = Enable a flow graph output in graphviz notation. -DRELEASE=[<ON>|<OFF>] = Build compiler with highest optimisations enabled. In case you want to run a test bundle: $ ctest or $ make test A verbose output of the build is supported: $ make VERBOSE=1 It's possible to execute tests separately: $ ctest -R run_test | Tests compilation of a correct syntax on | different stages (parser, type checking | and code generating). $ ctest -R error_test | Tests invalid syntax processing and error | handing. $ ctest -R cfg_test | Validates a cfg tree generated by the | compiler. Needs -DCFG_OUTPUT option to be | turned on. $ ctest -R exec_test | Validates the output of the compiler. $ ctest -R memory_test | Looks for memory leaks in the compiler.
About
A stream-based functional language
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published