Commit Graph

368 Commits

Author SHA1 Message Date
Daniel Kolesa 4dcd45b010 eolian: less code repeating 2014-06-20 15:46:00 +01:00
Daniel Kolesa efcdfec94f eolian: more cleanups 2014-06-20 15:31:45 +01:00
Daniel Kolesa eb3a7cf6d0 eolian: some less repeated code 2014-06-20 15:07:25 +01:00
Daniel Kolesa 15704a7454 eolian: small cleanup 2014-06-20 14:38:57 +01:00
Daniel Kolesa 3acbdaa8c7 eolian: mark all methods/properties in interfaces as virtual by default and disallow everything but class.(con|de)structor in their implements 2014-06-20 12:24:10 +01:00
Daniel Kolesa ded5623c86 eolian: simplify the parser a bit (unify 3 funcs into one) 2014-06-20 11:33:25 +01:00
Daniel Kolesa e9f4890747 eolian: fix end-of-file checking, move namespaces from :: to . 2014-06-20 10:46:04 +01:00
Daniel Kolesa ee24425ab5 eolian: remove semicolon termination of classes 2014-06-20 00:01:56 +01:00
Daniel Kolesa fc72ca590d eolian: allow omitting of () in class with no inherits, fix up tests 2014-06-19 16:30:18 +01:00
Daniel Kolesa 78c1e92722 eolian: stricten the allowed characters in values, and values starting with @ must be keywords - we no longer need all the arbitrary characters beacuse of lex_balanced and lex_until 2014-06-19 16:04:08 +01:00
Daniel Kolesa ee053aa840 eolian: fix double free 2014-06-19 16:04:08 +01:00
Daniel Kolesa 9c2fcf5d4e eolian: lex_until and lex_balanced 2014-06-19 16:04:08 +01:00
Daniel Kolesa 74181192ad eolian: fix error handling and memory leaks 2014-06-19 16:04:08 +01:00
Daniel Kolesa 07dcaadb97 eolian: simpler type parsing 2014-06-19 16:04:08 +01:00
Daniel Kolesa b39b37d732 eolian: cleanup 2014-06-19 16:04:08 +01:00
Daniel Kolesa 9d48e256dc eolian: remove the ugly old type extractor, instead build the inlist during parsing 2014-06-19 16:04:08 +01:00
Daniel Kolesa 3c621045cd eolian: complex non-pointer types 2014-06-19 16:04:08 +01:00
Daniel Kolesa 9b833f1dbd eolian: introducing a new lexer/parser
This handwritten lexer/parser is more strict and cleaner than the previous Ragel based one,
as well as faster and doesn't leak memory (or shouldn't). It's a recursive descent style
parser with separate lexer part (unlike the previous effort) which is run at the same
stage as the parser (so it doesn't pre-lex).

@feature
2014-06-19 16:04:08 +01:00