Michael Uleysky
0e49a86bd6
Rewrite parser and evaluator.
...
1) Use plain representation of expressions instead of recursive objects.
2) Make G_tosave, G_toprint and G_vars local.
3) DepTree nodes contains expressions itself instead of references on global objects.
4) Location tracking of errors.
8 years ago
Michael Uleysky
eeeb74f2f4
Error messages from lexical and grammatical parsers now contains include stack.
9 years ago
Michael Uleysky
5703808781
Using ToString instead of std::to_string with different format conversion for double
9 years ago
Michael Uleysky
92a617eaac
Prevent conflict of definition of yyguts_t from different lex files.
9 years ago
Michael Uleysky
3ef04a9ba0
Add tolower function for strings.
9 years ago
Michael Uleysky
5bed99ad81
Simple converters from strings to double, int and unsigned int added to common.h
9 years ago
Michael Uleysky
ebc4f236db
CMake build system
9 years ago
Michael Uleysky
7e68629fbe
Add directives in config files for loading modules and setup search paths for modules and includes.
9 years ago
Michael Uleysky
1cf8c24537
Move includes in separate dir
9 years ago
Michael Uleysky
ef38fb1781
Rearrange code. common.h now have all api for modules.
9 years ago
Michael Uleysky
a23c393e9e
Fix clang and cppcheck warnings
9 years ago
Michael Uleysky
92e9368e56
Tracking bison locations, so grammatical error messages are informative now.
...
Also, some cosmetic cleanups.
9 years ago
Michael Uleysky
bd9deb8734
Memory leak in case of some grammatical errors
9 years ago
Michael Uleysky
f0b6882b20
No more shift/reduce conflicts
9 years ago
Michael Uleysky
b17ad14e2a
@include directive in lexical parser.
...
Correct error handling in lexical parser.
9 years ago
Michael Uleysky
21c8e0e4ad
Fixed -Wall warnings
9 years ago
Michael Uleysky
e011354f04
Interpret dot as function GET.
...
Add functions Copy (make object copy) and Evaluate (run functions) for class ObjectBase and its derivatives.
9 years ago
Michael Uleysky
5ed1648d7a
Add token DELIM in grammatic.
9 years ago
Michael Uleysky
68283153a9
Fix memory leak.
9 years ago
Michael Uleysky
f779f4075a
Avoid memory leaks in the case of syntax error in the grammatical parser.
9 years ago
Michael Uleysky
e29b8cc085
Grammatical parser
9 years ago
Michael Uleysky
be4c41c762
Lexical parser
9 years ago