Daniel Kolesa
74d0cbf29b
eolian: allow multiple subtypes by reorganizing the type structure - preparation for new API
2014-06-30 17:20:39 +01:00
Daniel Kolesa
4f4eba4fe4
eolian: support for C type translation in eo lexer
2014-06-30 17:20:39 +01:00
Daniel Kolesa
4e79b27977
eolian: handle new type syntax in parser
2014-06-30 17:20:39 +01:00
Daniel Kolesa
7a8ef6d02a
eolian: introducing support for .eot files
...
.eot files are similar to .eo, but they can't contain classes; all .eot files found in include paths
are parsed and information is added into the database. They're there for typedefs and eventually also
enums, structs and constants.
@feature
2014-06-30 17:20:06 +01:00
Daniel Kolesa
18c6f486f6
eolian: process classes and typedefs in order
2014-06-30 17:20:06 +01:00
Daniel Kolesa
0f4bb89492
Revert "eolian: process classes and typedefs in order (preparation for later potential extension)"
...
This reverts commit 7c28de0616
.
2014-06-23 18:44:11 +01:00
Daniel Kolesa
af9b338dee
Revert "eolian: generalized node append"
...
This reverts commit 98d25243aa
.
Reason: accidentally got into master... I'm tired.
2014-06-23 18:43:23 +01:00
Daniel Kolesa
98d25243aa
eolian: generalized node append
2014-06-23 15:38:23 +01:00
Daniel Kolesa
7c28de0616
eolian: process classes and typedefs in order (preparation for later potential extension)
2014-06-23 15:32:17 +01:00
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