Jason Turner
caf2b39995
Attempt caching optimization of object lookups
2016-05-03 08:15:03 -06:00
Jason Turner
9a526bc1ec
Allow constant folding to do conversions also
2016-05-01 12:46:15 -06:00
Jason Turner
03803ee4c4
Initial take on Tracer hooks
...
This will allow the user to add hooks in for debugging / execution
tracing / throttling / etc for each node execution
The cost is *almost* 0 if no tracing is enabled.
2016-04-30 20:53:01 -06:00
Jason Turner
dcedd64032
Merge branch 'develop' into cleanups_and_reworkds
2016-04-29 10:40:38 -06:00
Jason Turner
f6c69f2826
Allow folding of if blocks
2016-04-25 21:32:48 -06:00
Jason Turner
184ca7f7b2
Create Block reducing optimizer
2016-04-24 07:49:00 -06:00
Jason Turner
71caf5006f
Pull constant folding optimizer out
2016-04-23 22:27:34 -06:00
Jason Turner
4dbf1ee2bd
Pull out Return_Optimizer
2016-04-23 22:12:08 -06:00
Jason Turner
4324a700ad
Fix instring eval parsing
2016-04-23 21:00:32 -06:00
Jason Turner
5b78d5a898
Make optimizer pluggable
2016-04-23 20:22:17 -06:00
Jason Turner
ff2ab6bb8d
Make optimizer split out
2016-04-23 15:52:19 -06:00
Jason Turner
25575564c0
Make module load error much more explicit
2016-04-23 15:47:39 -06:00
Jason Turner
683164650a
Add ability to 'compile' for loops
2016-04-21 08:09:10 -06:00
Jason Turner
6d6f79b1a4
Only pop min/max if they were defined previously
2016-04-18 14:38:25 -06:00
Jason Turner
7ab6bce7fa
Untangle chaiscript_engine from the rest of it
2016-04-17 21:14:01 -06:00
Jason Turner
f9294c8cbe
Remove ChaiScript_Parser from stdlib, unnecessary
2016-04-17 16:55:08 -06:00
Jason Turner
c68488388e
Remove some unused code in Boxed_Value
2016-04-16 22:14:02 -06:00
Jason Turner
7d5a97aa2f
Clean up if block parsing and eval
2016-04-16 15:39:32 -06:00
Jason Turner
83c6df11f0
Fix global reference assignment
2016-04-16 14:30:12 -06:00
Jason Turner
cf2fa09d6c
Eliminate branching in var decl
2016-04-16 14:13:14 -06:00
Jason Turner
f3f84594ee
A few parser cleanups
2016-04-16 12:04:18 -06:00
Jason Turner
32bd936a18
Remove 'annotation' feature
2016-04-16 07:52:39 -06:00
Jason Turner
498339c202
Remove some dead parser code
2016-04-16 07:35:30 -06:00
Jason Turner
49dfdfd15a
Fix some boxed_cast and exception issues
2016-04-14 12:03:55 -06:00
Jason Turner
6f0d02f158
Massive simplification of boxed_cast. More planned
2016-04-13 14:09:08 -06:00
Jason Turner
8d808f75c0
Remove pretty_print functionality
2016-04-13 12:04:55 -06:00
Jason Turner
b594043eef
Clean up redundant code
2016-04-11 09:36:23 -06:00
Jason Turner
fe8f8a89a7
Implement constant expression folding
2016-04-11 08:19:02 -06:00
Jason Turner
40694c798c
Eliminate Str_AST_Node
2016-04-10 23:12:35 -06:00
Jason Turner
443828fa23
More parser simplification
2016-04-10 22:27:35 -06:00
Jason Turner
866db4ee8b
Reduce instances of Str_AST_Node
2016-04-10 21:38:44 -06:00
Jason Turner
5e97f459d8
Remove unnecessary false
2016-04-10 19:01:55 -06:00
Jason Turner
e02ac78195
Remove Char_AST_Node
2016-04-10 18:57:23 -06:00
Jason Turner
62cd8031ac
Make quoted strings into Constants
2016-04-10 18:29:16 -06:00
Jason Turner
61dfcb00c0
Move int/float into Constant
2016-04-10 17:19:48 -06:00
Jason Turner
4bf619c80f
some initialization and destructor cleanups
2016-04-09 22:10:06 -06:00
Jason Turner
08a68f310a
Move to strongly typed algebraic enum
2016-04-09 21:50:23 -06:00
Jason Turner
641ac1a1ae
Split up ifdef'd module code
2016-04-09 21:49:12 -06:00
Jason Turner
2400c64c82
Move to strongly typed enums for node types
2016-04-09 21:15:07 -06:00
Jason Turner
5567e767a3
Change some {{ code
2016-04-04 15:57:14 -06:00
Eduard
33c966b8d6
Fix description of get_guard()
2016-03-30 18:14:12 +03:00
Jason Turner
2f2f789f48
Fix parsing of '' strings. found by AFL
2016-03-26 17:34:36 -06:00
Jason Turner
b424d1f9cb
delimit chaiscript text blocks
2016-03-13 15:33:23 -06:00
Jason Turner
d5ae30191d
Add =, ==, and != for Dynamic_Objects
...
closes #251
2016-03-12 12:44:05 -07:00
Jason Turner
34a2001a7b
Reduce lookups into stack indexes
2016-03-12 07:05:12 -07:00
Jason Turner
16c4a11990
More C++11/C++14 updates
2016-03-11 18:17:04 -07:00
Jason Turner
5247de7d1b
use a global void value for returning unknown values
2016-03-11 10:21:39 -07:00
Jason Turner
cd1b3f8887
Virtual / override / public cleanups
2016-03-11 09:24:00 -07:00
Jason Turner
cfc8a3d214
Warning cleanups and simplification
2016-03-07 21:24:21 -07:00
Jason Turner
019c6b2830
Cleanup of ChaiScript_Parser
...
From episode 1 of C++ Weekly.
2016-03-07 15:36:12 -07:00