Releases: takev/yyast
Bug Fix, switched arguments in sub parser methods.
Passing symbol table through the Python AST parser
The python extension for parsing yeast files now accepts a symbol table, which is passed into every constructor of your AST objects. This allows your AST objects to record their existence into this table.
Bug fixes for the Python extension.
Bug fixes for the Python extension which will read yyast files.
Python generic parser added
This release includes a python library for reading the yyast files.
You will need to supply factory classes which will be used to build up the AST tree.
Bugfix: YA_NULL didn't function correctly.
YA_NULL returned the ya_t object instead of a pointer to ya_t. I have changed YA_NULL to return a pointer to a singleton ya_t object.
-help should now also show the filename of the created parser binary.
yyast is made compatible with Linux
Originally the yyast library was developed on Mac OS X. Since I am now using it on Linux, I have ported the library.
Change to BSD 2-Clause license
Since I am hoping that YYAST will be used in as many as project as possible I have decided to release the YYAST library under a very permissive and compatible license. I have chosen the BSD 2-Clause License.
Source file tracking
In this version YYAST now tracks line numbers when in original source code. This is useful if someone would generate code for your language, and your compiler or debugger wants to show the original source code.
For this change the on-disk format of the AST had to change significantly. I've tried to make it a lot more consistent and still easy to read. A header is now required to record the source filenames, but the header is build up with the same node structure as the rest of the file.
Original release
This is the first release of YYAST, a AST generator, a companion to Lex and Yacc.