Jason Turner
83b7973cb8
Fix parsing of negative numbers
2017-01-31 15:41:21 -08:00
Jason Turner
0a18f0a809
Remove unnecessary params
2017-01-31 13:40:16 -08:00
Jason Turner
ce62706fea
Clean up warnings
...
* msvc
* pvs-studio
2016-12-06 10:31:36 -07:00
Jason Turner
defdb53a55
Fix regression from last commit on single char operators
2016-12-02 23:26:54 -07:00
Jason Turner
0dea62dd54
Finish removing runtime string comparisons
...
* Now virtually all parser string work is done at compile time
* Continuing the work started by @niXman
2016-12-02 23:01:57 -07:00
Jason Turner
9e17514b57
Move away from class level statics
...
- Avoiding potential issues with linking and multiple symbol definitions
2016-12-01 15:20:48 -07:00
Jason Turner
5f402e71dd
Move away from macro, get slight perf boost with hand rolled compare
2016-12-01 14:47:23 -07:00
niXman
1ea91faf52
parser optimization Three
2016-11-08 01:11:46 +02:00
niXman
745e0c0f0b
parser optimization step Two
2016-11-04 09:15:02 +02:00
niXman
c42477f2eb
parser optimization step One
2016-11-03 22:47:48 +02:00
Jason Turner
9925b20fad
Cleanups found with PMD's CPD
2016-10-29 09:41:55 -06:00
Jason Turner
b1f1803759
Some cleanups found by clang's analyzer
2016-10-28 14:53:01 -06:00
Jason Turner
359897a442
Flesh out parser and tracer usage cases
2016-10-28 13:36:10 -06:00
Jason Turner
332a62769b
Merge branch 'release-5.x' into develop
2016-10-28 10:57:55 -06:00
Jason Turner
a38b254a98
Only allow class
in top level scope
...
* Throw error if class is in unexpected place
* Allow catching of `eval_error` from inside of script
closes #297
2016-10-28 10:56:12 -06:00
Jason Turner
c97a69537d
Add ability to get current script context
...
closes #277
2016-10-13 20:44:13 -06:00
Jason Turner
23c13e6570
Apply return optimization to lambdas
...
closes #289
2016-10-10 18:52:54 -06:00
Jason Turner
b091439567
Merge branch 'release-5.x' into develop
2016-10-07 09:13:19 -06:00
Jason Turner
665125665a
Bump to 5.8.5
...
- remove parsing of unary &, it was unused
2016-10-06 22:32:55 -06:00
Jason Turner
8b7fe33bf1
Fix order of operations for prefix and '*', '/'
...
The problem is that Prefix did not properly participate in
operator precedence. I've fixed this, at least for the moment,
by adding a final depth of precedence that can be called when
the depth gets to the bottom.
closes #285
2016-10-06 14:44:30 -06:00
Jason Turner
4e6e63ab5d
Cleanups and split up into _basic options
2016-08-27 10:33:44 -06:00
Jason Turner
e44724c780
Fix debug/clang build issues
2016-06-29 17:27:07 -06:00
Jason Turner
b0f07cbe5d
Merge branch 'develop' into cleanups_and_reworkds
2016-06-29 16:11:00 -06:00
Jason Turner
9e16cc2a79
Simplify and normalize if block code
2016-06-27 08:56:03 -06:00
ELynx
201fef49c6
More standard compliant, use converter only where available
2016-06-27 17:40:43 +03:00
ELynx
58ebb22c55
clean-up conversion for other than std:string
2016-06-27 16:03:32 +03:00
ELynx
368a3b78a2
create holder class
2016-06-27 13:46:37 +03:00
ELynx
e3e90de02a
Proper comparison in unit tests; remove leftover static keyword
2016-06-27 13:09:32 +03:00
ELynx
8478ddc470
Move details to detail namespace, make to standard
2016-06-27 12:45:38 +03:00
ELynx
bd26355516
No warnings from MSVC
2016-06-27 12:38:50 +03:00
ELynx
19a730b78b
Basic support for Unicode 'slash'uABCD escape notation - parser understands escape sequence and following data
2016-06-27 11:52:22 +03:00
Jason Turner
e3d1741c63
Add C++17-style if-init blocks
2016-06-26 22:10:53 -06:00
Jason Turner
09bdec4882
Add ranged-for loops
...
closes [#145 ]
2016-06-26 20:00:01 -06:00
Jason Turner
c31ebb5665
Move checking of valid object names to parse time
2016-06-23 10:23:40 -06:00
Jason Turner
228c942b6c
Use std::exchange
2016-06-07 12:26:30 -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
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
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
7d5a97aa2f
Clean up if block parsing and eval
2016-04-16 15:39:32 -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
fe8f8a89a7
Implement constant expression folding
2016-04-11 08:19:02 -06:00