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
Jason Turner
985b62705f
Add support for != bools
...
closes #217
2015-10-15 22:06:06 -06:00
Jason Turner
ad69bf7d38
Get vector push_back_ref working as expected
2015-10-15 21:42:25 -06:00
Jason Turner
36765df3c0
Fix vector element assignment issues
2015-10-15 21:20:12 -06:00
Jason Turner
84e2d449b9
Support default case in the non-last position
2015-10-15 15:02:49 -06:00
Jason Turner
1add4c4b0f
Fix issues with integer parsing on MSVC
...
See #212
2015-10-04 14:32:23 -06:00
Jason Turner
14b3870efb
Fix integer overflow and bad numeric parses
2015-10-04 08:53:22 -06:00
Jason Turner
d2cf12f948
Add tests for binary literals
2015-10-03 21:01:52 -06:00
Jason Turner
e221ceaa4c
Greatly simplify integer sizing code
2015-10-03 17:11:03 -06:00
Jason Turner
beedf13d01
Make binary literals sized like other integer types
2015-10-03 16:38:41 -06:00
Jason Turner
9d18360333
Older compiler backport issues
2015-10-02 12:46:50 -06:00
Jason Turner
18e5ee0ba2
Wrap up generic string escape support
...
Closes #211
2015-10-02 12:16:44 -06:00
Jason Turner
41e9027d9a
Octal escape codes supported #211
2015-10-02 11:45:28 -06:00
Jason Turner
8d9dc2b0a3
Reduce redundant escape code parsing #211
2015-10-02 10:35:37 -06:00
Jason Turner
5a651e2b8a
Fix numeric overload resolution
...
Closes #209
2015-10-01 09:56:53 -06:00
Jason Turner
3a8cb581cc
Merge branch 'add_json_support' into develop
2015-09-30 14:39:21 -06:00
Jason Turner
b434d26a5d
Add json tests
2015-09-30 14:24:56 -06:00
Jason Turner
ba30d4f483
Add support for == for Map
2015-09-30 08:57:36 -06:00
Jason Turner
b4ffcd594d
Fix long long type usage
...
Closes #208
2015-09-30 06:49:03 -06:00
Jason Turner
681f18ee62
backport JSON for G++4.6
2015-09-21 12:27:33 -06:00
Jason Turner
e62a38b39f
JSON output working
2015-09-21 09:27:23 -06:00
Jason Turner
85ac1052dd
Initial support for export to JSON
2015-09-20 16:19:11 -06:00
Jason Turner
8024edeadf
Fix some JSON parsing bug with short strings
2015-09-20 15:46:05 -06:00
Jason Turner
f9f1d5807a
Basic support for parsing of JSON objects
2015-09-20 15:35:53 -06:00
Jason Turner
14227475b2
Merge remote-tracking branch 'origin/cpp_fun_call_performance' into develop
2015-09-18 13:41:44 -06:00
Jason Turner
e1a80fb5ce
A couple of MSVC fixes
2015-09-16 10:28:05 -06:00
Jason Turner
aabe53c934
Make var work with move-only types
2015-09-12 22:21:05 -06:00
Jason Turner
f3dbb7ed87
Control how fast global vectors grow
2015-08-31 11:09:03 -06:00
Jason Turner
52e11bf001
Fun location caching phase2
...
This shows ~25% performance over develop
2015-08-31 11:00:56 -06:00
Jason Turner
f06e5cdcd6
Cache function lookups
2015-08-31 09:44:47 -06:00
Jason Turner
15eb78bd8f
Move to indexed function storage
2015-08-31 08:41:47 -06:00
Jason Turner
9f362608b7
Eliminate extra unneeded scope
2015-08-28 21:19:00 -06:00
Jason Turner
0a143d1cd3
Make push_* consistant with inplace vector
2015-08-27 15:30:02 -06:00
Jason Turner
c9625b09b0
Fix magic 'this' values
2015-08-26 18:41:46 -06:00
Jason Turner
800c7fb37b
Fix functor scope - break magic 'this'
2015-08-26 13:18:42 -06:00
Jason Turner
28f5a74e98
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2015-08-15 19:28:45 -06:00
Jason Turner
781d62d3a5
Make result of dynamic constructor marked as return value
2015-08-15 07:29:07 -06:00
Jason Turner
8ed2158709
Merge pull request #203 from msbroadf/develop
...
Update chaiscript_engine.hpp
2015-08-13 14:12:38 -06:00
Jason Turner
8f98e16e5e
Reset return value flag on reference assignment
2015-08-13 13:45:31 -06:00
msbroadf
3a595ef912
Update chaiscript_engine.hpp
2015-08-13 13:45:33 +10:00
Jason Turner
5aa0bfcea4
Add some convenience functions for parsing
2015-08-11 19:20:18 -06:00
Jason Turner
04e2256c92
Fix error caused by last fix
2015-08-02 18:21:48 -06:00
Jason Turner
38ba00e55c
Get MSVC2015 quieted down on warnings
...
re @arBmind
2015-08-02 16:52:43 -06:00
Jason Turner
8931346230
Eradicate internal exceptions during object clone
2015-08-01 13:47:25 -06:00
Jason Turner
0c4951d742
Fix parsing of operators
...
* Only parse valid operators
* Don't swallow a symbol if it would produce an invalid operator
Closes #198
2015-08-01 10:05:38 -06:00
Jason Turner
31b3195c17
Don't allow conversion to std::function on arity mismatch
2015-07-30 20:23:34 -06:00
Jason Turner
0d4e4090a0
Massive reorg of file position tracking
...
- Should make iterator errors almost impossible in the future
- Fixes tracking of current line number
2015-07-30 16:53:27 -06:00
Jason Turner
22339d10db
Make order of params eval well defined
2015-07-24 12:07:46 -06:00
Jason Turner
3cae2aed1d
Remove unused Inplace Eval ast node
2015-07-23 15:34:45 -06:00
Jason Turner
c6f262c675
Parse in-string eval at regular parse time
...
- don't delay and overcomplicate with an eval
2015-07-23 15:21:39 -06:00
Jason Turner
a2ff672b34
Memory error fixes
...
* prevent recognizing . as a number
* do all checked iterator operations for incrementing through input
stream
* Verify that all is as expected when building up a dot notation call
2015-07-22 11:13:10 -06:00
Jason Turner
9a0a12d230
Bump version number to 5.7.2
2015-07-20 19:50:13 -06:00
Jason Turner
419c2d72a8
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into multithreaded_performance
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2015-07-16 18:12:09 -06:00
Jason Turner
6a7a934e3e
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into multithreaded_performance
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2015-07-16 13:16:04 -06:00
Jason Turner
1f72afc8f5
Add crashes and fixes found during fuzzy testing
...
* Let unhandled exceptions propogate to user
* Report eval_error when break statement is not in loop
* Fix handling of 0 length scripts closes #193
* Don't crash on arity mismatch - Specifically affects the case where no overloads exist for a given function
* Fix error printing for `bind` calls
* Handle unexpected continue statement
* Check arity during bind
* Don't allow arith conversion on variadic function
* Correct `bind` parameter match count
* Add in expected Boxed_Value exception cases
* Check access to AST, don't allow `;` in func def
* Don't attempt arithmetic unary & call
* Don't crash on 0 param call to `bind`
* Catch errors during member function dispatch
* Properly handle type of const bool &
2015-07-16 12:51:50 -06:00
Jason Turner
2fbc377119
More strongly typed handling of push_back wrapper
...
Closes #192
2015-07-11 18:36:07 -06:00
Jason Turner
563999f3b8
Add note about handling of thread contexts
2015-07-11 18:34:09 -06:00
Jason Turner
1ea608babe
Better detect arithmetic types #192
2015-07-11 18:32:47 -06:00
Jason Turner
37120f486f
Handle user defined conversions of return types from functor
2015-07-04 08:43:52 -06:00
Jason Turner
484ff7a98b
Add utility for converting std::vector types
2015-07-03 14:39:21 -06:00
Jason Turner
b270a198dc
Don't clone return values into vector/map
2015-07-02 22:10:09 -06:00
Jason Turner
9e93d61236
Allow user to disable nothread warning
2015-07-02 21:18:36 -06:00
Jason Turner
72aedca39c
Fix wrapping of functions with move only params
2015-06-29 20:43:12 -06:00
Jason Turner
748c18f465
Save stack & and prevent lookups
2015-06-28 15:17:58 -06:00
Jason Turner
b9875e2844
Miscellaneous performance tweaks
2015-06-28 13:20:20 -06:00
Jason Turner
902f48cd4c
Revert "Use placement new to avoid unique_ptr allocations"
...
This reverts commit 83281bff52a4ceb7a2a479a42efd5795c54924ac.
2015-06-24 11:25:56 -06:00
Jason Turner
e339055e0b
Address some warnings for clang/gcc
2015-06-23 16:07:57 -06:00
Jason Turner
4890b47460
Reduce unary operator overhead
2015-06-23 14:25:34 -06:00
Jason Turner
b53432cf28
Remove remaining uses of std::function
2015-06-23 13:02:43 -06:00
Jason Turner
a112d97141
Simplify a couple of random things
2015-06-23 11:48:01 -06:00
Jason Turner
83281bff52
Use placement new to avoid unique_ptr allocations
2015-06-23 11:11:56 -06:00
Jason Turner
05bec3b4a8
Avoid attempting convert_down when not possible
...
@arBmind this should be significant for you
2015-06-21 21:09:26 -06:00
Jason Turner
cd2fb1ec66
Normalize integer types in the loc saving
2015-06-20 11:45:34 -06:00
Jason Turner
ec33cf2709
Make local location saving atomic
2015-06-20 10:52:05 -06:00
Jason Turner
c7689f18ec
Save local variable location after first pass
2015-06-20 10:28:27 -06:00
Jason Turner
3eb7700912
Add missing <iterator>
2015-06-20 07:45:00 -06:00
Jason Turner
c4633436ba
Avoid placeholder lookup cost
2015-06-20 07:13:54 -06:00
Jason Turner
2870874d91
Fix clang build errors
2015-06-20 06:53:23 -06:00
Jason Turner
a147278a7e
Fix debug builds
2015-06-19 20:59:40 -06:00
Jason Turner
a2577b983c
Don't constantly re-create the function objects
2015-06-19 20:31:39 -06:00
Jason Turner
646563eb3f
A couple of cleanups and fixes
2015-06-19 20:10:45 -06:00
Jason Turner
f9860216c9
Move to std::vector for local stack objects
2015-06-19 16:49:16 -06:00
Jason Turner
b7eb469ac1
Move to some standard algorithms
2015-06-19 14:57:54 -06:00
Jason Turner
bcf573cf26
Don't loop over already filtered functions
2015-06-19 14:23:08 -06:00
Jason Turner
1bf4170d8f
Simplify dispatch
2015-06-19 11:47:16 -06:00
Jason Turner
6d632f6aa4
Normalize methods for numeric->string conversions
2015-06-19 06:18:49 -06:00
Jason Turner
835b5a90af
Reduce to_string overloads down to what is necessary
2015-06-18 21:47:05 -06:00
Jason Turner
2442e9ae20
Register all character types
2015-06-18 13:01:54 -06:00
Jason Turner
0dcac05f2f
Add numeric support for wide characters
2015-06-18 11:57:58 -06:00