Skip to content

Releases: eudoxia0/cmacro

Rewrite

22 May 00:46
Compare
Choose a tag to compare

Main changes from v0.1:

External:

  • cmacro no longer sends code through the C preprocessor, which means #include tags are ignored. To include files with macro definitions, a new directive - cmacro_import - was introduced.
  • Rewriting the parser has produced significant performance gains.

Internal:

  • The flex lexer, separate lexer executable, and hand-written recursive-descent parser and macro definition parser have all been replaced with a parser generated by esrap. However, the Makefile's uninstall target still tries to delete the cmc-lexer executable, to bring old versions up to date.
  • Tokens now reside in a class hierarchy, rather than having a single token struct and have an explicit token-type field.

Initial version

22 May 00:38
Compare
Choose a tag to compare

This is the initial version of cmacro.