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
Jason Turner
c562d0d78b
Fix MSVC build
2016-01-31 21:18:23 -07:00
Jason Turner
bff30278e1
Fix string parsing
2016-01-31 19:35:40 -07:00
Jason Turner
b104b26f11
Also allow lcase global keyword
...
Closes #221
2016-01-31 19:15:32 -07:00
Jason Turner
03ef44f415
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2016-01-31 19:12:37 -07:00
Jason Turner
1a06e53c58
Add some compiler identification info to build
2016-01-31 19:06:44 -07:00
Jason Turner
c438a388d7
Add workaround for msvc 2015 update 1 with 1 CPU.
2016-01-31 19:05:37 -07:00
Jason Turner
7688c14d43
Parse strings in ${} closes #131
2016-01-29 21:34:04 -07:00
Jason Turner
bde2a45384
Add map conversions
...
closes #57
2016-01-29 20:41:12 -07:00
Jason Turner
0dab950ebf
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2016-01-29 19:43:12 -07:00
Jason Turner
485482b2be
Fix tabs in source code
2016-01-29 19:42:50 -07:00
Jason Turner
7222390c96
Fix build
2016-01-29 16:12:10 -07:00
Jason Turner
b33f0a08bc
Remove initializer_list conversion due to the issues mentioned here:
...
http://stackoverflow.com/questions/18895583/convert-a-vectort-to-initializer-listt
2016-01-29 16:04:06 -07:00
Jason Turner
140a90f72a
Fix g++4.6 build issues
2016-01-29 15:35:40 -07:00
Jason Turner
f697384028
Merge pull request #243 from vrennert/feature_initializer_list_conversion
...
Added initializer_list<T> conversion as possible function call argument or return type.
2016-01-29 15:20:38 -07:00
Jason Turner
dfd04c8291
Clean up formatting from last merge
...
Closes #238
2016-01-29 15:16:35 -07:00
Jason Turner
209d6ed2e4
Merge remote-tracking branch 'ktm/set-global' into develop
2016-01-29 15:14:32 -07:00
Viktor Rennert
af1eba1b0e
Added type fix for gcc/clang and tiny formating fixes.
2016-01-26 18:36:45 +01:00
Jason Turner
f82f6c2068
Some fixes found by resharper c++
2016-01-25 16:41:11 -07:00
Viktor Rennert
fcca453223
Added initializer_list<T> conversion as possible function call argument or return type.
2016-01-26 00:06:57 +01:00
Jason Turner
c067575ac4
Merge branch 'develop' into add_performance_tests
2016-01-20 18:24:50 -07:00
ktm
3587c3e165
fixed comment on set_global
2016-01-18 13:24:59 -05:00
ktm
43def57852
add set_global, update unit test
2016-01-17 00:01:51 -05:00
Jason Turner
561b47e463
More explicit int/bool conversions
2016-01-16 09:27:16 -07:00
Jason Turner
9885534b5b
Merge branch 'develop' into add_performance_tests
2016-01-16 09:02:52 -07:00
Jason Turner
373a3688c9
Merge branch 'feature_enum_utility_helper' into Fix_Crash_From_CppCon
2016-01-03 18:13:48 -07:00
Jason Turner
888d897a3e
Simplify use of enum helper
2016-01-02 19:59:54 -07:00
Jason Turner
e32714c456
Add some operators for Enums made with helper class
2016-01-02 19:45:10 -07:00
Jason Turner
e1c40f3e8f
Automatically add copy constuctor for enums added with utility
2016-01-02 19:26:53 -07:00
Viktor Rennert
f0796b51c8
Added template specialization in chaiscript::utility::add_class<Enum> to register bulk constants.
2016-01-02 14:25:44 +01:00
Joshua Boyce
e60eabbeb2
Fix another multiply defined symbol.
2015-12-26 03:04:05 -08:00
Joshua Boyce
c249bef27d
Fix multiply defined symbols.
2015-12-26 03:03:24 -08:00
Jason Turner
4e69e5a3d2
Merge branch 'Fix_Crash_From_CppCon' of github.com:ChaiScript/ChaiScript into Fix_Crash_From_CppCon
2015-11-25 07:51:12 -07:00
Jason Turner
49c89a3b88
un-break ** cast operation
2015-11-25 09:49:26 -05:00
Jason Turner
681b7db727
Merge branch 'Fix_Crash_From_CppCon' of github.com:ChaiScript/ChaiScript into Fix_Crash_From_CppCon
2015-11-20 06:49:35 -07:00
Jason Turner
4826bddb5b
Add overloads for cosnt *& casts
2015-11-20 07:46:52 -06:00
Jason Turner
49436e5740
Merge branch 'develop' into Fix_Crash_From_CppCon
2015-11-20 05:53:44 -07:00
Christian Kaeser
202204a82a
Limit hexadecimal escape sequence length
...
Helps with cases like "\xFFecho" by limiting the number of hex digits
that will be parsed to maximum suitable for the char type.
This rule differs from the C/C++ standard, but ChaiScript does not offer
the same workaround options.
Furthermore, without it having hexadecimal sequences longer than can fit
into the char type is undefined behavior anyway.
2015-11-08 18:36:16 +01:00
Christian Kaeser
34c6b17215
Fix broken escape sequence parsing after octal/hex escape
...
The parser code just added the first character after an octal/hex sequence
as raw text, resulting in erroneous data whenever another escape
sequence follows directly after.
2015-11-08 18:07:04 +01:00
Jason Turner
6fe7f5ce98
Don't return reference to copied values
2015-11-03 16:02:25 -07:00
Jason Turner
8bd7ccfa9f
Only run performance tests on linux
2015-10-23 16:38:04 -06:00
Jason Turner
40b1549b3b
Fix use of broken bitset implementation in g++
2015-10-21 09:30:22 -06:00
Jason Turner
c9a5bf6f83
fix warning from GCC for unknown flag
2015-10-20 18:19:03 -06:00
Jason Turner
8496a86043
Use a bitset instead of bools for type_info flags
2015-10-20 18:14:42 -06:00
Jason Turner
09748275db
Fix warnings from clang
2015-10-17 09:22:13 -06:00
Jason Turner
7ba7b81a5c
Implement option explicit for dynamic objects.
...
Closes #218
2015-10-16 21:41:54 -06:00
Jason Turner
882cbf2dfb
Add option explicit code, but don't throw yet
...
Work towards #218
2015-10-16 18:47:26 -06:00