Michael Uleysky
c59ac16589
Fix false error if more then one function have same name.
8 years ago
Michael Uleysky
c02f46df5e
Using ObjectList::IndexType instead of ObjectList::ListValues::size_type.
...
Add STL-compatible forward iterator for ObjectList.
8 years ago
Michael Uleysky
522a4b2092
Remove unused mutexes from DepTree::thread_params.
8 years ago
Michael Uleysky
acc973982a
Enforce constantness of all Objects.
8 years ago
Michael Uleysky
da0c897a95
Error reporting in arifmetic and Get<> functions.
...
Replace 0 on nullptr.
8 years ago
Michael Uleysky
79c55b1618
Add support for extended error reporting by functions (functions can return ObjectError object with description of error).
8 years ago
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.
8 years ago
Michael Uleysky
5703808781
Using ToString instead of std::to_string with different format conversion for double
9 years ago
Michael Uleysky
235437354e
Check and really use linker flags
9 years ago
Michael Uleysky
92a617eaac
Prevent conflict of definition of yyguts_t from different lex files.
9 years ago
Michael Uleysky
8e9d4c3f0e
Function Split to break strings by delimiters.
9 years ago
Michael Uleysky
c218ef8eaf
Use templates for generating standart arifmetic functions.
...
Automatic translation of strings to numbers in arifmetic functions.
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
162a18c72b
Replace IS_OTYPE macros on more useful template OBType
9 years ago
Michael Uleysky
ebc4f236db
CMake build system
9 years ago
Michael Uleysky
c5bff0c2f0
Add externally defined CFLAGS and LDFLAGS to compiler and linker options.
9 years ago
Michael Uleysky
9e85bfe6c7
Fix compilation on Ubuntu
9 years ago
Michael Uleysky
705b220ae1
Build system for modules
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
17dcff67cb
Functions accept const ObjectList*, not ObjectList*
9 years ago
Michael Uleysky
c5d4c27a55
Enable Link-Time Optimisation
9 years ago
Michael Uleysky
ef38fb1781
Rearrange code. common.h now have all api for modules.
9 years ago
Michael Uleysky
0ea30b894a
Move exported definitions in common.h
9 years ago
Michael Uleysky
a8d1239b46
Rename arifmetic.{cpp,h} to builtin.{cpp,h}
9 years ago
Michael Uleysky
a23c393e9e
Fix clang and cppcheck warnings
9 years ago
Michael Uleysky
f90e798502
Multithreading support
9 years ago
Michael Uleysky
28cb54ff70
Command-line options.
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
e39589f216
Fix memory leak
9 years ago
Michael Uleysky
3f0b187d8c
Optimize building of the dependency tree
9 years ago
Michael Uleysky
106fbe1612
Fixes
9 years ago
Michael Uleysky
ef2218b91c
Realisation of print() and save()
9 years ago
Michael Uleysky
9dbc3abaed
Recursive evaluating
9 years ago
Michael Uleysky
21c8e0e4ad
Fixed -Wall warnings
9 years ago
Michael Uleysky
cd60230d54
Add various typedef's
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
894a74eed9
Check parsed config on unknown functions
9 years ago
Michael Uleysky
6761e6e462
DumpConfig() function
9 years ago
Michael Uleysky
973762bfd4
Buiding dependency tree with checking of circular dependencies.
9 years ago
Michael Uleysky
68283153a9
Fix memory leak.
9 years ago
Michael Uleysky
72c98542e0
Build dependency tree
9 years ago
Michael Uleysky
f779f4075a
Avoid memory leaks in the case of syntax error in the grammatical parser.
9 years ago
Michael Uleysky
a31a47656d
Add simple arifmetic functions.
...
Tune exported suymbols.
9 years ago