Jason Turner
c37c901a0c
Fix MSVC build
...
closes #287
2016-10-07 21:39:19 -06:00
Jason Turner
d638d87a0f
Fix function reassignment
2016-10-07 09:36:38 -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
d1c7645a4e
Backport inits for g++4.6
2016-10-06 15:19:47 -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
7cc100e3d7
Make ChaiScript constructor public...
2016-10-06 09:36:43 -06:00
Jason Turner
21495ebb40
Make sure atomics are initialized
2016-10-06 09:09:50 -06:00
Jason Turner
b2907fc608
Merge branch 'release-5.x' into develop
2016-10-05 15:14:58 -06:00
Jason Turner
bec1b91b7b
Increment to 5.8.4
2016-09-24 17:17:40 -06:00
Jason Turner
4b81a24a0a
Fix numeric mixed-convesion operations
2016-09-24 17:15:17 -06:00
Jason Turner
8cb3bd4af8
Fix gcc 4.9 build
2016-09-16 12:47:01 -06:00
Jason Turner
4e6e63ab5d
Cleanups and split up into _basic options
2016-08-27 10:33:44 -06:00
Jason Turner
7561aa8828
Get all unit tests passing
2016-06-29 21:06:31 -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
62639a4359
Get building with libc++ again
2016-06-29 16:06:27 -06:00
Jason Turner
a14f1983e8
Handle a few more optimization cases
2016-06-27 12:56:43 -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
52a191df9e
Add optimization for unused return values
2016-06-19 20:20:51 -06:00
Jason Turner
228c942b6c
Use std::exchange
2016-06-07 12:26:30 -06:00
Jason Turner
039d0edce3
Move to std::next instead of homebrewed function
2016-05-12 08:53:38 -06:00
Jason Turner
7b3f06b269
Even more scope / block simplification
2016-05-03 14:41:16 -06:00
Jason Turner
5373bbd52e
Add Fold-Right optimizer
2016-05-03 10:21:59 -06:00
Jason Turner
17821be1e2
Reduce shared_ptr copies during dispatch
2016-05-03 08:51:44 -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
d34d74205c
Merge branch 'release-5.x' into develop
2016-04-29 10:40:26 -06:00
Jason Turner
41c1c490c8
Add support for *& return types
2016-04-29 08:31:59 -06:00
Jason Turner
70cdbef693
Fix threading build
2016-04-29 07:09:57 -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
647f8842fd
Optimize dispatch for perfect match case
2016-04-20 09:20:38 -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
80cc18bf2f
Make type_info fully constexpr
...
- Minor hit in compile size
- Minor improvement in runtime
2016-04-17 08:15:24 -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
57aa874c6e
Revert "Prefer make_unique over make_shared"
...
This reverts commit 5a947b5035dc99d2dbef35a220340036886e189c.
2016-04-16 09:02:38 -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
56b4f465a1
Add warning on platforms without thread_local
2016-04-15 23:09:20 -06:00
Jason Turner
1a42614441
Remove unnecessary code
2016-04-15 23:02:42 -06:00
Jason Turner
6fa83bca85
Remove Do_Call helper class
2016-04-15 15:31:19 -06:00
ELynx
62e34c097c
Add capacity check; fix vector_reserve unittest
2016-04-15 14:12:07 +03:00
ELynx
14d429853b
Add typename; pass value to resize by const referene
2016-04-15 14:00:01 +03:00
ELynx
e8ff1f9d7e
Proper template types for resizable_type and reservable_type
2016-04-15 13:39:51 +03:00
ELynx
49ef5306a9
Add resize to stl list and vector; add reserve to stl vector
2016-04-15 13:15:30 +03:00
Jason Turner
7d9dbc3d86
Fix some boxed_cast issues introduced with refactor
2016-04-14 19:06:37 -06:00
Jason Turner
49dfdfd15a
Fix some boxed_cast and exception issues
2016-04-14 12:03:55 -06:00
Jason Turner
5e0a882b18
Bootstrap simplifications
2016-04-13 21:08:25 -06:00
Jason Turner
9603d3910a
Get multifile compiling
2016-04-13 15:26:36 -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
2a1632f213
Merge branch 'develop' into cleanups_and_reworkds
2016-04-11 17:48:31 -06:00
Bjorn Fahller
2fe794fcae
Do not return Module& from internal funcs on Module&
...
A slight improvement in built binary size is achieved by not having
to generate code for the return.
2016-04-11 18:16:30 +02: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
1e584048ce
Remove std::function from bind_first
2016-04-09 21:00:07 -06:00
Bjorn Fahller
7865f8e7f2
Keep ModulePtr kompatible functions
...
Since use of (one of) the functions in bootstrap_stl.hpp is in a
sample, chances are there are people using them in real world
application code. Thus the backwards compatible versions.
2016-04-09 21:09:45 +02:00
Bjorn Fahller
5ff97979fd
Pass Module by reference instead of shared ptr
...
This gives a small but noticeable compile time improvement as
well as a measurable, albeit not great, reduction in size of the
stdlib.
2016-04-09 15:42:55 +02:00
Jason Turner
5567e767a3
Change some {{ code
2016-04-04 15:57:14 -06:00
Jason Turner
5a947b5035
Prefer make_unique over make_shared
2016-04-04 15:36:38 -06:00
Jason Turner
6ecbaab2fe
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2016-03-30 13:02:07 -06:00
Jason Turner
dd6b38cafb
Merge branch 'release-5.x' into develop
2016-03-30 13:01:46 -06:00
Jason Turner
1e62eb4e12
Update to 5.8.2 release notes
2016-03-30 12:52:53 -06:00
Eduard
33c966b8d6
Fix description of get_guard()
2016-03-30 18:14:12 +03:00
Jason Turner
c07c2a9cc2
Make sure type_info works with shared_ptr &
2016-03-28 15:57:26 -06:00
Jason Turner
46c45e8fc7
Update boxed_cast_tests to account for new features
2016-03-27 20:50:15 -06:00
Jason Turner
91a3ae1f14
Add ability to take non-const & shared_ptr params
2016-03-27 20:02:27 -06:00
Jason Turner
2f2f789f48
Fix parsing of '' strings. found by AFL
2016-03-26 17:34:36 -06:00
Jason Turner
3627efe03b
Move away from shared_lock
...
It's not supported by enough standard library implementations yet
2016-03-16 20:14:48 -06:00
Jason Turner
1cd7a1b972
Change unsigned to size_t
2016-03-16 19:59:56 -06:00
Jason Turner
df9466e2a7
Remove unneeded overloads / make explicit
2016-03-16 19:50:59 -06:00
Jason Turner
dc8aa372c1
Less manual managing of JSON internal state
2016-03-16 19:39:10 -06:00
Jason Turner
bcc25222dd
Code reorg to reduce anon namespace
2016-03-16 19:08:50 -06:00
Jason Turner
6507a6e68e
Update naming of JSON functions
2016-03-16 18:52:02 -06:00
Jason Turner
5872b020fa
First pass at updating JSON lib
...
* eliminate manual memory management
2016-03-16 18:32:10 -06:00
Jason Turner
b424d1f9cb
delimit chaiscript text blocks
2016-03-13 15:33:23 -06:00
Jason Turner
7dcd6b8447
Implement member pointer value support
...
closes #245
2016-03-12 22:04:01 -07:00
Jason Turner
d5ae30191d
Add =, ==, and != for Dynamic_Objects
...
closes #251
2016-03-12 12:44:05 -07:00
Jason Turner
16ffbca6d6
Simplify type_info comparisons
2016-03-12 08:36:53 -07:00
Jason Turner
afa3f2249c
Mark i as unused for the sake of MSVC 0th case
2016-03-12 08:16:25 -07:00
Jason Turner
c5f4a4dfd8
various c++11/c++14 cleanups
2016-03-12 07:05:29 -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
6f01568a9a
Fix function_member call from last commit
2016-03-11 15:28:33 -07:00
Jason Turner
a363ef5e0e
C++11/14 updates
2016-03-11 14:45:40 -07:00
Jason Turner
a3365a9c4a
Enable use of shared_mutex now on C++14
2016-03-11 13:45:01 -07:00
Jason Turner
9a5ef38d4a
Simplify exception_specification types
...
* move to variadic
* delete lots of implementation details
2016-03-11 10:57:20 -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
11ee71ba27
Fix index type
2016-03-10 14:45:07 -07:00
Jason Turner
978f80751f
Update proxy_functions_detail to c++14
2016-03-10 12:33:07 -07:00
Jason Turner
0ac5657661
Merge branch 'update_travis_toolchain' of github.com:ChaiScript/ChaiScript into update_travis_toolchain
2016-03-07 21:24:53 -07:00
Jason Turner
cfc8a3d214
Warning cleanups and simplification
2016-03-07 21:24:21 -07:00
Jason Turner
85163e08cc
Add missing <array> header include
2016-03-07 16:19:40 -07:00
Jason Turner
019c6b2830
Cleanup of ChaiScript_Parser
...
From episode 1 of C++ Weekly.
2016-03-07 15:36:12 -07:00
Jason Turner
947d7c2591
Merge branch 'develop' into update_travis_toolchain
...
Conflicts:
.decent_ci-Windows.yaml
CMakeLists.txt
include/chaiscript/chaiscript_defines.hpp
2016-03-05 21:12:14 -07:00
Jason Turner
539ee3c84f
Ignore unknown pragmas in older apple clang
2016-03-05 10:44:40 -07:00
Jason Turner
ad7e2138d9
Various Windows fixes
2016-03-04 17:39:32 -07:00
Jason Turner
0eee23109e
Upgrade catch to new version
2016-03-04 16:05:08 -07:00
Jason Turner
2a8c248167
Implement locale dependent float parser
...
closes #250
2016-03-04 15:18:12 -07:00
Jason Turner
457367ea7b
Add failing tests for locale changes
...
re #250
2016-03-04 14:31:19 -07:00
Jason Turner
b5b6e5a5a3
Drop ifdef'd code for gcc4.6 and msvc12
2016-03-04 11:15:39 -07:00
Jason Turner
8feff5bc76
Clean up some more warnings
2016-03-04 10:03:39 -07:00
Jason Turner
d4f02b5e67
Address sign promotion warnings, add todo test
2016-03-04 07:58:21 -07:00
Jason Turner
645377e191
Remove memory_order_relaxed usage
2016-03-02 20:36:05 -07:00
Jason Turner
5a03c88ee3
Add -Wconvert and address the warnings from it
...
closes #254
2016-03-02 17:40:15 -07:00
Jason Turner
6c483bd6f6
Update release notes and prepare for 5.8.0
2016-02-16 15:00:13 -07:00
Jason Turner
7f8a6f24f9
Fix a few warnings from old gcc
2016-02-16 11:13:14 -07:00
Jason Turner
07fa8010e4
Ack! Rollback debug statement print out
2016-02-16 11:06:20 -07:00
Jason Turner
e024b99b36
Fixes for type_conversion handling
2016-02-16 08:29:01 -07:00
Jason Turner
ed65ad72d0
Update copyrights
2016-02-14 20:04:17 -07:00
Jason Turner
bc0eaa5d15
Fix some issues found by cppcheck
2016-02-14 20:01:49 -07:00
Jason Turner
08ba646200
Enable thread local in MSVC 2015
2016-02-02 09:18:08 -07:00
Jason Turner
d0630d5edd
Attempt to fix warning from MSVC
2016-02-01 15:24:08 -07:00