Jonathan Turner
5426496b4f
Fix parsing of member access and function calls
2011-06-13 07:43:51 -07:00
Jonathan Turner
6131a9c4c1
Moved common operators into their own AST nodes and removed the operator child.
2011-06-04 11:01:35 -07:00
Jonathan Turner
6c18c197c6
Fixed operator parsing to return trees instead of flat representations. Fixed evaluator to not loop over equations.
2011-06-04 09:15:19 -07:00
Jason Turner
36faba8ed3
Bypass dispatch during numeric operations. 2x speedup
2011-06-04 04:25:54 +08:00
Jason Turner
0d238b1617
Documentation updates and namespace reorg for docs.
2011-04-02 20:52:49 -06:00
Jason Turner
d6b8e32373
Allow for parse time evaluation of const values.
...
The goal is to allow for more evaluation at parse time, in general, to
increase eval time performance.
- Make AST_Node non-constructable except by derived classes.
- Make data in AST_Node const (as much as possible).
- Replace reflection "text = " with replace_child() (where the
replacement must be with a new parse tree).
- Evaluate floats, strings, ints, chars at parse time to avoid repeat
evaluations (~10% speed up in loops in -O3)
2011-03-27 08:17:04 -06:00
Jason Turner
cd8bead54a
Further namespace reorganization and cleanup to limit to the user the
...
most important aspect of the API and make documenation easier.
2011-03-24 09:23:05 -06:00
Jason Turner
637164e457
Move around some namespaces for documentation purposes.
...
Fix problems with building on clang 2.8.
Remove unneeded function for get_engine() and fix functor<> calls that take a Boxed_Value
2011-03-15 17:35:14 -06:00
Jason Turner
9dd9ffec46
Update copyright information for 2011
2011-03-15 09:42:33 -06:00
Jason Turner
5cc4a758ab
Make scoping more explicit during initialization of alphabet
2011-02-21 19:25:22 -07:00
Jason Turner
7c2550ba74
Modify alphabet to m_alphabet to match rest of coding style
2011-02-21 19:17:36 -07:00
clanmills
65d054b36e
Three lots of changes:
...
1) Changes post code review by Jason
2) Fixing bug in end of line processing on Windows with cr-lf
3) Adding command-line options to chai
2011-02-16 08:21:19 -08:00
clanmills
894063261e
Changes to parser.
2011-02-14 10:33:40 -08:00
Jason Turner
5f661fad20
Get rid of a C++ conversion and make it a static_cast
2010-11-12 23:19:30 +00:00
Jason Turner
e75a354a04
Apply some module and parameter variable naming standards. Remove ChaiScript template where it was no longer necessary.
2010-11-06 05:20:41 +00:00
Jason Turner
36173d277d
Closing issue #99 : shared const char * memory issues. Also, clean up some file loading overhead (did not seem to have an performance impact).
2010-11-05 22:01:39 +00:00
Jason Turner
e1e48d732f
Wrap up of clean up of warnings in 64bit visual studio
2010-11-05 04:05:02 +00:00
Jason Turner
6e18aa3dcd
Further VS 64bit warning fixes.
2010-11-05 02:43:52 +00:00
Jonathan Turner
5a92146d28
Fix to disallow mixing inline map and array elements
2010-10-02 23:39:17 +00:00
Jonathan Turner
cfa42158af
Clean up reflection a bit, and how we do pretty printing of ast nodes. Registered new internal_to_string in reflection module so that we
...
can have automatic pretty printing of ast nodes during repl eval.
2010-08-30 13:37:50 +00:00
Jason Turner
31feab6053
Fix to parsing of single-line comments where the comment at the end of a line was merging statements separated by a single line comment
2010-08-28 22:14:09 +00:00
Jason Turner
7ef12f634d
Register AST_Node and Parser, overloaded eval for AST_Node and some const correctness fixes
2010-08-28 21:48:30 +00:00
Jonathan Turner
c6452c4bd6
Rename of Token to AST_Node to be more correct
2010-08-28 18:38:01 +00:00
Jason Turner
329244759f
Fix warnings discovered on macos
2010-08-28 17:58:02 +00:00
Jonathan Turner
58c62f6333
More refactoring of parser to use the token children types directly instead of using a giant switch statement during build_match.
2010-08-15 02:04:35 +00:00
Jonathan Turner
7f037b26d4
Updated email addresses in copyright information.
2010-08-10 05:24:07 +00:00
Jonathan Turner
b1e357423f
Move structure to being inheritance-based in preparation for reflection infrastructure. This technique relies on the vtable's dynamic dispatch for correct evaluation, and removes the giant switch eval style of previous revisions.
2010-08-08 17:18:32 +00:00
Jonathan Turner
d838f7a6d4
Renaming of helper function char_between. Adding help to check for hitting the end of input.
2010-08-07 02:18:51 +00:00
Jonathan Turner
556e7ad916
Cleaned up the formatting a bit. Switched parser over to using charBetween, which significantly improves
...
readability of the early parsing rules.
2010-08-06 11:17:53 +00:00
Jason Turner
799b3ef388
Update copyright for 2010
2010-05-15 22:48:54 +00:00
Jonathan Turner
e5a29ede5f
Added 0b1010 binary format. Fixed hex and octal to allow negative ints
2009-12-11 14:46:12 +00:00
Jonathan Turner
ac8462fb67
Fix up some broken sample files
2009-12-02 14:29:42 +00:00
Jonathan Turner
c418644a5b
Fix for single-line comments stopping at semicolon.
2009-11-27 22:52:55 +00:00
Jonathan Turner
e14931f389
Move completely over to new operators
2009-11-10 14:07:51 +00:00
Jonathan Turner
1bc968e788
Add initial unaries
2009-11-08 16:27:39 +00:00
Jonathan Turner
18bfead387
Move to a better operator parser, add support for most of the C++ binary operators
2009-11-07 14:43:12 +00:00
Jonathan Turner
9827345213
Fix Id Literals so that they are keyed off an Id search. This allows us to add operator overloading on the parse side.
2009-10-14 13:51:35 +00:00
Jonathan Turner
12e909d9aa
Add bit shifting operators
2009-10-13 03:35:01 +00:00
Jonathan Turner
315d7521a7
Clean up warnings. Add simple blocks.
2009-10-08 03:01:19 +00:00
Jonathan Turner
ff177b5eaf
Add octal support
2009-10-06 21:17:23 +00:00
Jonathan Turner
46fd7e9a58
Add hex value parsing support
2009-10-06 16:04:05 +00:00
Jason Turner
edd274ccce
Fix some more obscure warnings
2009-10-06 02:26:47 +00:00
Jonathan Turner
c5f837fd19
Added 'finally' to try/catch block
2009-09-19 18:12:22 +00:00
Jonathan Turner
7c244d25b5
Add support for chai objects by adding methods and attrs
2009-09-19 15:32:12 +00:00
Jonathan Turner
813fa055a3
Added guarded exception catches
2009-09-19 13:30:11 +00:00
Jonathan Turner
204d379176
Fix default cmake build to use readline and gdb. Add simple try/catch/throw exceptions
2009-09-18 22:04:07 +00:00
Jonathan Turner
63de0fd33c
Add a couple more in-string eval unit tests to check for proper escaping
2009-09-13 12:53:12 +00:00
Jonathan Turner
5092713876
Add in-string eval
2009-09-12 14:52:46 +00:00
Jonathan Turner
f23f0edc70
Fix parser to handle shortform equations (fix bad operator parsing). Add back lines to prelude for line numbers
2009-09-09 14:11:03 +00:00
Jonathan Turner
91011695f0
Allow simple multiline commands in arg list and container arg list
2009-08-26 20:34:32 +00:00