Jason Turner
78819fd3a8
fixed boxed_number to_string impl
2015-06-03 18:39:49 -06:00
Jason Turner
c6c2bcc023
More template reduction in Boxed_Number
2015-06-03 08:59:01 -06:00
Jason Turner
e759a0c544
Reduce template instantiations
2015-06-03 07:00:28 -06:00
Jason Turner
b163065b3c
Begin simplifying boxed_number implementation
2015-06-03 06:25:41 -06:00
Jason Turner
ecafb4aad0
Add missing cstring
2015-06-02 18:20:13 -06:00
Jason Turner
38a83e3e56
Fix MSVC2013 builds
2015-06-02 17:35:31 -06:00
Jason Turner
bacf546dff
Merge branch 'develop' into remove_std_function
...
Conflicts:
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
2015-06-02 16:16:22 -06:00
Jason Turner
85a6d85c1f
Fix warnings
...
- use `(void)` to avoid "unused parameter" warnings
- Move to clang-3.6 for thread sanitizer - found bug in 3.5's reporting
2015-06-02 13:53:07 -06:00
Jason Turner
7522a19af5
g++4.6 correction
2015-06-01 16:08:04 -06:00
Jason Turner
26a0034176
Fixes for g++4.6
2015-06-01 16:07:10 -06:00
Jason Turner
cb5fbff1e6
Merge branch 'develop' into remove_std_function
2015-06-01 15:57:45 -06:00
Jason Turner
ff378abf84
Merge branch 'coverity_scan' into develop
2015-06-01 15:57:13 -06:00
Jason Turner
520f9bc0d2
Work around bug in g++4.6
...
I'm going to have to start dropping support for older compilers soon.
The 4.6 line is 4 years old now, and 4.7 has these issues fixed
2015-06-01 15:49:50 -06:00
Jason Turner
cf3db70d5d
Merge branch 'develop' into remove_std_function
...
Conflicts:
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
2015-06-01 14:53:09 -06:00
Jason Turner
7026229273
Apply Index expansion technique to simplify code
...
Thanks @sean-parent I saw the technique in your future implementation
2015-06-01 09:43:29 -06:00
Jason Turner
d13d080dee
Remove constexpr from type_info
2015-05-30 15:50:21 -06:00
Jason Turner
61d5e2ad85
Revert "Work around coverity crash"
...
This reverts commit bb0d1005138e53cb2d414401f0338f22fbbc636b.
Conflicts:
include/chaiscript/dispatchkit/dispatchkit.hpp
include/chaiscript/dispatchkit/type_info.hpp
2015-05-30 15:47:22 -06:00
Jason Turner
023a3edf40
Fix static usage of Type_Info objects
2015-05-30 15:36:25 -06:00
Jason Turner
4b577f1f2a
Undefined types are never equal
2015-05-30 15:15:08 -06:00
Jason Turner
ac280a6971
Fix name() lookups
2015-05-30 14:14:48 -06:00
Jason Turner
bb0d100513
Work around coverity crash
...
I'm not 100% convinced on these changes, but they might be for the
better.
2015-05-30 07:33:34 -06:00
Jason Turner
bb2938307c
Move prelude into stdlib so it's not included everywhere
2015-05-23 16:16:39 -06:00
Jason Turner
919c3f2b4a
Finish removing std::function and std::bind internally
2015-05-23 13:10:29 -06:00
Jason Turner
e0234d942e
Various cleanups and fixes for older compilers
2015-05-22 19:40:56 -06:00
Jason Turner
df724b5c33
Completely remove Proxy_Function_Impl
2015-05-22 12:13:49 -06:00
Jason Turner
0b812942d4
Finish removing std::function<>
2015-05-22 11:35:58 -06:00
Jason Turner
48933bc32c
Use std::ref to make free functions callable
2015-05-22 10:28:28 -06:00
Jason Turner
630c618ae7
Remove automagic wrapping to std::function<>
2015-05-22 09:39:21 -06:00
Jason Turner
03143a9f83
Phase one of getting rid of std::function usage
2015-05-22 09:30:42 -06:00
Jason Turner
2129c5318b
Merge pull request #179 from ChaiScript/lambda_type_resolution
...
Lambda type resolution
2015-05-20 12:30:36 -06:00
Jason Turner
515ee711ce
Remove unnecessary code
2015-05-20 12:00:41 -06:00
Jason Turner
bc8a4c42fa
Get non-polymorphic Derived->Base conversions working
2015-05-20 11:08:07 -06:00
Jason Turner
da39b8403b
Remove more usage of new
2015-05-19 14:15:21 -06:00
Jason Turner
5fa44d5eef
Automatically deduce types of lambda for fun()
2015-05-19 13:47:34 -06:00
Jason Turner
dec88db26c
Minor efficiency improvement by pre sizing match stack
2015-05-19 10:55:38 -06:00
Jason Turner
9da9012701
Fix version number mismatch
2015-05-13 06:20:25 -06:00
Jason Turner
cf4efacbe8
Add 'GLOBAL' keyword #122
...
Also provides functionality that makes things like overriding the built in
'print' possible. See #67
2015-05-04 11:47:36 -06:00
Jason Turner
74a992fad9
VS2015 thread_local doesn't seem ready for primetime yet
2015-05-03 08:43:43 -06:00
Jason Turner
d210f0e4e1
Enable thread_local in more cases, ignore clang warnings
2015-05-02 21:05:45 -06:00
Jason Turner
c0dd0a3041
Use static const true/false on platforms with magic statics
2015-05-02 15:27:51 -06:00
Jason Turner
45baf6f8e9
Global const values for booleans
...
- Reduces number of Boxed_Value constructions greatly
2015-05-02 13:08:23 -06:00
Jason Turner
e64e4b0877
Fix tests broken by last cleanup
2015-05-01 19:54:14 -06:00
Jason Turner
e286b9a9aa
Never access data after moving it!
2015-05-01 07:22:43 -06:00
Jason Turner
d77921f1b5
Reorg of parsing code for maintainability / performance
2015-04-30 22:05:56 -06:00
Jason Turner
3e5034ecf8
Merge branch 'smaller_make_shared' into develop
2015-04-29 16:58:34 -06:00
Jason Turner
c52ad3d827
Merge pull request #174 from totalgee/develop
...
Support scientific notation for floating point (issue #173 )
2015-04-29 16:50:39 -06:00
Glen Fraser
8fc61bf51c
Fixing build error with tolower() on Windows
2015-04-29 21:52:34 +02:00
Jason Turner
dc6d039a72
Add documentation note workaround for libc++
2015-04-29 13:41:58 -06:00
Jason Turner
2e72fde0ba
Horrible workaround for libc++
...
Libc++ appears to have a problem with dynamic_casting between types
where one of them is a template that has been forward declared. This is
the only case that I see this problem coming up.
Due to the existing interdependencies between header files, I *must*
forward declare the Assignable_Proxy_Function_Impl. I don't see any
other way around this than to work around the standard library bug.
2015-04-29 13:39:57 -06:00
Glen Fraser
d762ef08b6
Support scientific notation for floating point
2015-04-29 19:40:58 +02:00
Jason Turner
8bbcceed88
Attempt better data layout of AST_Node
2015-04-28 08:56:20 -06:00
Jason Turner
aaf80ac8cf
Merge branch 'develop' into smaller_make_shared
2015-04-27 16:24:17 -06:00
Jason Turner
86ec14c2c8
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2015-04-27 16:19:41 -06:00
Jason Turner
dbe546fefb
Simplify and reduce eval code where possible
2015-04-27 16:17:01 -06:00
Jason Turner
50e0ce36be
Clean up missing <string> include
2015-04-27 14:12:23 -06:00
Jason Turner
986699a3fe
Merge branch 'develop' into smaller_make_shared
...
And also apply cleanups suggested from resharper
Conflicts:
include/chaiscript/language/chaiscript_parser.hpp
2015-04-27 11:55:12 -06:00
Jason Turner
8889324b2d
Code simplifications and spelling fixes found by clion
2015-04-27 08:09:31 -06:00
Jason Turner
7a13b6b801
Merge branch 'develop' into smaller_make_shared
2015-04-25 08:53:47 -06:00
Jason Turner
4f5f46a2e5
Don't use scopes around arithmetic operators
2015-04-24 22:36:22 -06:00
Jason Turner
dde7d27b96
A smaller make_shared derived types
2015-04-24 21:35:56 -06:00
Jason Turner
ddc6ac8e00
Eliminate unnecessary warnings on MSVC (catch)
...
Mostly caused by catch
2015-04-23 16:27:43 -06:00
Jason Turner
9ab0b1108a
Wrap up method_missing docs and tests
2015-04-23 15:03:08 -06:00
Jason Turner
a542ec01f6
Update method_missing support to reduce exceptions
2015-04-22 12:15:15 -06:00
Jason Turner
f3943f215f
Merge remote-tracking branch 'origin/develop' into method_missing
2015-04-22 07:29:46 -06:00
Jason Turner
0f4bd2b889
Merge pull request #172 from ChaiScript/libcxx_ubuntu_14_04
...
Libcxx ubuntu 14 04
2015-04-22 07:26:10 -06:00
Jason Turner
650889eae7
Fix issue affecting function ordering for vector
2015-04-21 23:19:15 -06:00
Jason Turner
90102cebd7
Full dynamic object system built on method_missing working
2015-04-21 22:36:48 -06:00
Jason Turner
dc746ee131
Merge branch 'method_missing' of https://github.com/arBmind/ChaiScript into method_missing
...
PR #164
Conflicts:
include/chaiscript/dispatchkit/dispatchkit.hpp
2015-04-21 14:38:15 -06:00
Jason Turner
059c7bcca1
Merge branch 'fix_attr_function_calls' into develop
...
Conflicts:
src/test_module.cpp
2015-04-21 12:45:59 -06:00
Jason Turner
7830085f5e
Merge remote-tracking branch 'origin/add_array_type_support' into develop
2015-04-21 12:28:26 -06:00
Jason Turner
0ed9602ba9
Get libc++ on ubuntu 14.04 working
...
The std::is_member_function_pointer<> template is broken on this version
of the libc++ standard library for const member functions.
To get ChaiScript to work with this, we had to work around the use of
automatically generated std::function wrappers in many cases. This
actually cleaned up the code in a few places and muddied it up in one.
2015-04-21 12:01:29 -06:00
Jason Turner
2f531355cd
Boxed_Value changes necessary for libc++
2015-04-20 20:30:25 -06:00
Jason Turner
db34899225
Address msvc issues with #167 #165
...
The best we can get it down to is 2 moves in MSVC, it does not
elide the moves/copies as well as GCC and Clang do
It's not possible for us to support registering of array types in
MSVC12, but we can in MSVC14 with the latest release of the
compiler.
2015-04-18 20:51:45 -06:00
Jason Turner
71245aa703
Add array type support #167
2015-04-17 20:02:09 -06:00
Jason Turner
ecd2e523f7
attributes / members holding functions works fully now
...
Issue #155
2015-04-17 16:32:59 -06:00
Jason Turner
d2ed8fdcf1
Get class members that are functions working
...
Automatic conversion of return values into Proxy_Function objects
Issue: #155
2015-04-17 12:18:47 -06:00
Jason Turner
2e769d81cf
Get return_value_handling fully working
2015-04-10 09:32:01 -06:00
Jason Turner
a3f88b43ce
Merge branch 'return_value_handling' into develop
2015-04-10 08:20:55 -06:00
Jason Turner
b489ffe3ed
Fix errors with eval/use of scripts
2015-04-10 08:20:30 -06:00
Andreas Reischuck
cbeeadd6f3
Merge branch 'develop' into method_missing
2015-04-08 16:52:34 +02:00
Jason Turner
63684d0042
Add the ability to get the return value from 'use'
2015-04-08 08:17:33 -06:00
Jason Turner
1f74bfd9b3
Attempt to create the concept of "return values"
...
to reduce clones of values. This doesn't quite work
2015-04-07 13:54:38 -06:00
Jason Turner
5114ca9d35
Fix double pointer cast test
2015-04-07 11:09:47 -06:00
Jason Turner
79181fe41e
Reduce copies of UDTs
2015-04-07 10:23:43 -06:00
Jason Turner
962bdf4b3c
Reduce exceptions on startup to minimum
...
This still has some exceptions thrown during the loading of modules
since I have no way of knowing where the operating system
`dlopen` and `LoadLibrary` functions will search for me to pre-check
it.
Closes #158
2015-04-06 13:17:41 -06:00
Jason Turner
1557dabf4f
Fixes array access with arithmetic conversions
...
Closes #156
2015-04-06 07:21:32 -06:00
Jason Turner
7f1cd29a2c
Various cleanups
2015-04-02 15:40:45 -06:00
Jason Turner
59103b5a22
Apply some IIFE to reduce copies
2015-03-29 21:58:14 -06:00
Andreas Reischuck
b67dc4e09a
Merge branch 'develop' into method_missing
2015-03-27 21:36:25 +01:00
Jason Turner
95ead0dbfb
Various warning cleanups
2015-03-25 17:30:19 -06:00
Jason Turner
c32a944b9d
Fix macos clang builds
2015-03-25 14:04:42 -06:00
Jason Turner
62337062bf
Reduce the number of exceptions created at runtime
2015-03-25 13:36:02 -06:00
Jason Turner
d396f8e6a0
Enhancements for > 1 param function dispatch
2015-03-25 10:01:36 -06:00
Jason Turner
6ba3e92d6e
Various tree optimizations
2015-03-24 14:15:47 -06:00
Jason Turner
bd1b5c0687
Disable block optimization - it didn't handle stack
2015-03-24 10:15:08 -06:00
Jason Turner
40e2bf4099
Test optimizing the AST
2015-03-23 21:43:57 -06:00
Jason Turner
5b9878b070
Minor speed improvements
2015-03-23 20:07:07 -06:00
Jason Turner
0b28603cdc
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2015-03-23 14:16:48 -06:00
Jason Turner
91bcaaa037
Reduce use of mem_fn when possible
2015-03-23 14:16:23 -06:00
Jason Turner
04bceedf64
Reduce versions of shared_ptr created
2015-03-23 13:44:40 -06:00
Jason Turner
9326539f3b
Fix gcc 4.6 errors/issues
2015-03-22 08:14:59 -06:00
Jason Turner
1113cafca2
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
...
Conflicts:
CMakeLists.txt
2015-03-21 21:04:03 -06:00
Jason Turner
98e36ab836
Minor cleanups, increment to 5.7.0
2015-03-21 20:56:28 -06:00
Jason Turner
976e4ec46c
Enable parsing of lambda captures
...
Closes #161
2015-03-21 20:30:52 -06:00
Jason Turner
9963933f51
Normalize the number of child nodes in a Lambda node
2015-03-21 19:50:04 -06:00
Andreas Reischuck
4e614729dc
using copy construction
2015-03-22 00:23:49 +01:00
Andreas Reischuck
d0e763d77e
fixed method_missing parameter order
2015-03-22 00:17:53 +01:00
Andreas Reischuck
c15e0174c9
added "method_missing" feature
2015-03-21 22:29:16 +01:00
Jason Turner
516ca8eec2
Merge branch 'master' into develop
2015-03-13 22:28:24 -06:00
Jason Turner
b71f9db5c2
MSVC Fixes
2015-03-13 22:27:51 -06:00
Jason Turner
aa0ed17e43
Merge tag 'v5.6.0'
2015-03-13 21:59:37 -06:00
Jason Turner
34e3551ebd
Fix spelling error in document examples
2015-02-19 08:27:22 -07:00
Jason Turner
c584c29951
Simplification
2015-01-31 16:12:19 -07:00
Jason Turner
c285c4d40b
Reduce code in assignment oper eval
2015-01-31 15:07:17 -07:00
Jason Turner
b5188b9eda
Cleanup assignment eval
2015-01-31 14:40:26 -07:00
Jason Turner
d558019bb3
Simplify logical && || operator eval
2015-01-31 13:41:29 -07:00
Jason Turner
722e9ed3d1
Various code cleanups
2015-01-31 10:10:35 -07:00
Jason Turner
76ac7c36fe
Simplify redundant bool condition checking
2015-01-31 07:28:37 -07:00
Jason Turner
f0ed3a5cf7
Add 'var' 'auto' and typed param documentation
2015-01-19 09:19:31 -07:00
Jason Turner
9b19aa3b6e
Get ready for 5.6.0 release
...
- Update copyrights to 2015
- Set version to 5.6.0
- Update release notes
2015-01-17 07:05:10 -07:00
Jason Turner
e86fc96b2f
Merge branch 'AddMoreWarningFlags' into develop
...
Conflicts:
include/chaiscript/dispatchkit/boxed_number.hpp
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/language/chaiscript_eval.hpp
2015-01-16 19:32:53 -07:00
Jason Turner
66801349a8
Merge remote-tracking branch 'origin/OptionalTypedArgs' into develop
2015-01-16 10:19:27 -07:00
Jason Turner
bde4eb04b6
Merge remote-tracking branch 'origin/DivideByZeroProtection' into develop
2015-01-16 10:18:50 -07:00
Jason Turner
c3f343450d
Fix issues found with cppcheck inconclusive
2015-01-16 10:10:14 -07:00
Jason Turner
c7b2b3095a
Merge branch 'develop' of https://github.com/ChaiScript/ChaiScript into AddMoreWarningFlags
2015-01-15 15:45:45 -07:00
Jason Turner
9449fca22f
Memory leak error fixes. Various compiler fixes.
2015-01-15 15:42:35 -07:00
Jason Turner
759d6fc42f
Remove [[ noreturn ]], MSVC14 doesn't yet support attributes?
2015-01-15 15:15:02 -07:00
Jason Turner
f95ca75aca
Clean up more warnings with stricter warning levels
2015-01-15 14:24:39 -07:00
Jason Turner
41a45ce8b5
Enable warnings (and fix up some things)
2015-01-14 21:07:40 -07:00
Jason Turner
5b6e6042f3
Work around MSVC 2014 issue with future
...
have to wrap std::future::valid in a lambda due to noexcept?!
2015-01-14 20:41:41 -07:00
Jason Turner
26bf531cab
Remove unused parameter
2015-01-13 17:07:46 -07:00
Jason Turner
7761ceb736
Clean up some numeric processing code
2015-01-13 17:04:34 -07:00
Jason Turner
ef69e4a2f1
Allow typing of exception handlers
2015-01-13 14:05:41 -07:00
Jason Turner
3f23e57a3d
Fix build error
2015-01-13 12:07:08 -07:00
Jason Turner
f66b4aafc1
Fix g++ 4.6 initializers
2015-01-13 11:58:23 -07:00
Jason Turner
3d1edbf38f
Add missing dynamic_object_detail
2015-01-13 11:44:13 -07:00
Jason Turner
c1f47cbc16
Update prelude to use new typed params
2015-01-13 11:39:24 -07:00
Jason Turner
4761a68d06
Enable optional typing of function params
2015-01-13 11:24:40 -07:00
Jason Turner
31ef683ced
Use SFINAE to clean up divide by zero protection
2015-01-12 10:06:42 -07:00
Jason Turner
9b3bb493e9
Clean up some MSVC warnings
2015-01-10 07:18:10 -07:00
Jason Turner
2f90b3ae6b
Correct exception specifier for arithmetic_error
2015-01-09 20:31:40 -07:00
Jason Turner
576816e3b1
Add unit test for divide by zero protection
2015-01-09 20:17:20 -07:00
Jason Turner
25b15a3449
Only apply divide by zero protection to integers
...
Also allow arithmetic error to bubble up to the caller.
2015-01-09 20:06:04 -07:00
Jason Turner
8746a9eea5
Make divide by zero protection the default
2015-01-09 19:38:27 -07:00
Jason Turner
0695eec3ca
Limit scope of #ifdefs, remove macros
...
Macros do not fit within the ChaiScript coding standards because
they do not respect namespaces and are more difficult to debug
of something goes wrong.
2015-01-09 19:30:28 -07:00
Jason Turner
1a4dec0df0
Remove redundant/unnecessary constructors and object copies.
2015-01-09 19:06:08 -07:00
Jason Turner
de09489355
Fix formatting (tabs vs spaces) in divide/0 protection
2015-01-09 19:02:56 -07:00
Jason Turner
440ceeebbb
Merge branch 'develop' of https://github.com/lufinkey/ChaiScript into DivideByZeroProtection
2015-01-09 19:01:58 -07:00
Jason Turner
12533ce3e1
Add note about State tracking of Type_Conversions
2015-01-09 16:14:47 -07:00
Jason Turner
2e02273673
Add .bundle to module search extensions
2015-01-09 10:40:20 -07:00
Jason Turner
d91294b989
Add warning for c-style casts to gcc
2015-01-07 13:56:48 -07:00
Jason Turner
52d03a66b1
Add future support, and fix returning of r-values
2015-01-06 15:31:06 -07:00
Jason Turner
e225654289
Tick version up to 5.5.1
2014-12-21 13:12:56 -07:00
Jason Turner
7b7e7176f5
Merge remote-tracking branch 'origin/develop' into performance_test
2014-11-17 14:17:28 -07:00
Jason Turner
423e872720
Work around bug in gcc 4.6 for initializer_list
...
Hopefully also fixes MSVC 2012
2014-11-17 07:02:52 -07:00
Jason Turner
1e8c0ab93e
Reduce redundant parsing / error code
2014-11-16 21:22:55 -07:00
Jason Turner
c90fe16858
Clean up Prefix() implementation
...
Reducing redundant code
2014-11-16 21:02:28 -07:00
Jason Turner
161652b5d9
Reworking of binary operators
...
- Eliminates re-parsing of operator strings
- Reduces much redundant code
Results
1. smaller binaries
2. less runtime memory usage
4. faster runtime
2014-11-16 20:28:44 -07:00
Jason Turner
cc5bf45b3b
Merge branch 'develop' into performance_test
2014-11-14 21:37:07 -07:00
Jason Turner
28124e4b33
Fix stack memory management
...
From 747M to 6.2M for profiling tests.
2014-11-14 20:28:53 -07:00
Jason Turner
283152a880
Speed up print functions
2014-11-14 09:45:49 -07:00
Jason Turner
cf49b1b30c
Make def more efficient, fix to_string(string)
2014-11-13 12:28:52 -07:00
Jason Turner
63a083b47b
Remove uses of std::endl, which imply a flush
2014-11-13 10:13:51 -07:00
Jason Turner
5daf837037
Increment version number to 5.5.0
2014-11-04 09:47:32 -07:00
Jason Turner
99396ba05c
Add \r skipping code from @jespada
2014-11-03 21:37:25 -07:00
Jason Turner
f5304ac75c
Merge branch 'develop' of http://github.com/ChaiScript/ChaiScript into develop
2014-11-03 18:36:10 -07:00
Jason Turner
3f460fdd20
Fix 64bit msvc warning
2014-11-03 18:34:33 -07:00
Jason Turner
4f972bcf67
Refine lifetime of parameters to functions
...
Fixes crash caused when making function calls in a global context, and
probably fixes other things.
2014-11-03 09:13:30 -07:00
Jason Turner
5d5e881971
Fix arity of functions
...
A value was being accessed after it was moved.
2014-11-03 08:24:02 -07:00
Jason Turner
5515d058bb
Fix some warnings for clang / 64bit windows
2014-11-03 07:33:53 -07:00
Jason Turner
79c5f71975
Fix compilation on gcc 4.6
2014-11-02 21:47:42 -07:00
Jason Turner
c876a89030
Fix crash during user_defined_conversions_2
...
Temporaries created during user conversion operations were being dropped
before the result of the conversion was able to be used. This fixes that
by temporarily storing the result of the conversion inside the
current Function_Push_Pop context.
2014-11-02 21:37:01 -07:00
Jason Turner
20c0e6016e
Add type_conversion helper and failing unit test
2014-11-02 14:08:57 -07:00
Jason Turner
dd12785b72
Reduce virtual calls for get_arity
...
Saves compiled code size and some minor runtime differences
2014-11-01 18:40:42 -06:00
Jason Turner
87cee688a8
Fix broken type conversion call implementation
...
- We need to properly order the function so that the one with the least
number if type differences is the one that is tried first.
2014-11-01 15:52:02 -06:00
Jason Turner
e2cf8a48be
Correct check for which types might have conversions
2014-10-29 07:07:12 -06:00
Jason Turner
7c766f87a4
Add thread specific cache of type info
...
Reduces the number of locks necessary to check of a user defined type
conversion should be scanned for / applied.
2014-10-28 22:12:03 -06:00
Jason Turner
e85be6eb3d
Add C++ test for user defined conversion
2014-10-28 20:23:19 -06:00
Jason Turner
7b42d5307a
Add ability to register a user defined type conversion
...
Currently this adds a fair bit of overhead. It will need to be evaluated
further before it's merged.
2014-10-28 14:52:24 -06:00
Jason Turner
43d6f0cf16
Rename dynamic_cast into type_conversion
...
Prep work for getting user defined type conversions implemented
2014-10-28 12:43:30 -06:00
Jason Turner
86e26966c1
More code cleanups
2014-10-28 10:53:29 -06:00
Luis Finke
b41c0f432b
Added (optional) protection against divide by zero exceptions
...
defining the preprocessor CHAISCRIPT_PROTECT_DIVIDEBYZERO adds checking of right side values before division arithmetic, allowing the user to safely catch a divide by zero error, rather than dealing with a SIGFPE and having the entire program exit without a choice
2014-10-24 17:41:33 -04:00
Jason Turner
9e8b833d11
Code cleanups
2014-10-18 16:18:56 -06:00
Jason Turner
021e2a7949
Fix returning of boolean values from functors
2014-10-12 22:12:54 -07:00
Jason Turner
78cd980067
Work around broken Apple clang implementation
...
This line of code does not cause an error on clang-3.4 or clang-3.5
on Linux. Apple's clang is somewhere between the two, no way to know
where.
For an unknown reason, specifying default move operations in 'Data'
causes the compiler to think that Boxed_Value is an incomplete type.
This is highly illogical since Data is only used via a shared_ptr, so
the size / type of Boxed_Value should be fully known (and is known on
every other compiler/platform combination).
2014-10-01 15:49:11 -06:00
Jason Turner
58d9e69479
Work around missing move operations in MSVC12
2014-10-05 21:53:44 -06:00
Jason Turner
935e9de19e
GCC 4.6 fixes to cleanups
2014-10-05 14:58:27 -06:00
Jason Turner
f547b4bb10
Enable moving of data into Boxed_Values when possible
2014-10-05 12:11:46 -06:00
Jason Turner
87e40237d3
Enable moving of Any objects
2014-10-05 11:47:50 -06:00
Jason Turner
5619f2602d
Eliminate extra dynamic allocation in the Stack
2014-10-05 08:58:29 -06:00
Jason Turner
5986531bba
dispatchkit modernization
2014-10-04 22:59:52 -06:00
Jason Turner
8ecc11c275
First pass of modernization of chaiscript_eval.hpp done
2014-10-04 18:31:08 -06:00
Jason Turner
81dc4949d2
1/4 through modernization of chaiscript_eval.hpp
2014-10-04 15:34:32 -06:00
Jason Turner
9a7d03df05
Modernization of chaiscript_parser
2014-10-04 09:37:33 -06:00
Jason Turner
4f5a6da280
Move constructor and noexcept correctness
2014-09-21 14:19:41 -06:00
Jason Turner
e1b80abac4
Update documenation to-dos regarding gcc 4.6
2014-09-20 14:20:37 -06:00
Jason Turner
b6e8605aee
Attempt again to satisfy gcc 4.6
2014-09-20 14:17:41 -06:00
Jason Turner
0e381e333e
Attempt to satisfy G++4.6 and decltype usage
2014-09-20 08:31:18 -06:00
Jason Turner
8c31255012
Windows and GCC 4.6 error cleanups
2014-09-20 07:21:30 -06:00
Jason Turner
01cf906e18
Clean up 32bit windows warnings
2014-09-19 21:58:28 -06:00
Jason Turner
e55700b86b
Remove static in bind_first - VS12 warns on it
2014-09-19 21:52:18 -06:00
Jason Turner
81184cbbd7
Rollback template alias, not supported in gcc 4.6
2014-09-19 21:46:52 -06:00
Jason Turner
93c1cfde99
Try out some alias templates for cleanup
2014-09-18 20:48:34 -06:00
Jason Turner
5861c45fc1
C++11 related cleanup and improvments
2014-09-15 21:16:44 -06:00
Jason Turner
6c2ccf3869
Various cleanups prefering lambda to bind
2014-09-14 21:53:11 -06:00
Jason Turner
243f4001d1
Code cleanups
2014-09-12 15:16:24 -06:00
Jason Turner
fde90ad980
Throw exception if user attempts to use null Boxed_Value
2014-09-09 13:43:05 -06:00
Jason Turner
52179d8333
Merge branch 'develop' of https://github.com/ChaiScript/ChaiScript into develop
2014-09-08 11:11:35 -06:00
Jason Turner
eed90b521d
Spelling corrections and comment fixes
2014-09-08 11:10:53 -06:00
Jason Turner
bb08cc3699
Add documenation for "class" keyword
2014-08-31 19:54:43 -06:00
Jason Turner
6692607507
Update version number to 5.4.0, update releasenotes
2014-08-31 19:45:07 -06:00
Jason Turner
6bea42c1c0
Speed up to_string performance by relying on C++ versions
...
Addresses #134 , fixing issues introduced by #132
2014-08-31 16:03:42 -06:00
Jason Turner
251790f144
Fix some MSVC warnings
2014-08-31 12:04:02 -06:00
Jason Turner
4ee9ba9c96
Make up some of the performance losses #132
2014-08-30 14:49:31 -06:00
Jason Turner
a71903f185
Add strong reference to range objects #132
2014-08-30 13:36:36 -06:00
Jason Turner
3fe80d70c6
Roll back name of range class, it's half baked from the range fix
2014-08-27 12:24:46 -06:00
Jason Turner
a6e3fd5b42
Make reflection API part of stdlib
...
removes the reflection module completely. Reflection and the
ability to catch eval errors is too useful.
2014-08-27 12:05:03 -06:00
Jason Turner
6a3f19d575
Add copy constructor for Type_Info
2014-08-26 09:28:51 -06:00
Jason Turner
9b7e4d2e78
Let a subscript out of range be catchable from chaiscript
2014-08-26 08:51:02 -06:00
Jason Turner
fa1f4b795b
Add class keyword for easier user defined types.
...
Issue #118
2014-08-22 21:11:49 -06:00
Jason Turner
cb1c7730cf
Add the ability to look up user defined typenames
...
Closes #124
2014-08-17 09:05:29 -06:00
Jason Turner
3a775097dd
Reduce size of Any template wrapper.
2014-08-17 06:52:11 -06:00
Jason Turner
5692dfc58a
Move to unique_ptr for Any implemenation
...
Speed and size improvements
2014-08-15 20:38:35 -06:00
Jason Turner
c5f6c549ec
Reduce compiled size with template reductions
2014-08-15 20:14:15 -06:00
Jason Turner
14a280713f
Update version to 5.3.2
2014-06-11 15:15:51 -06:00
Jason Turner
32a9aa9c3c
Merge branch 'develop' of https://github.com/ChaiScript/ChaiScript into develop
2014-05-29 20:44:35 -06:00
Jason Turner
f57a14e3de
Allow user to add globals from within script.
2014-05-29 20:44:05 -06:00
Jason Turner
4018c873dc
Spelling fixes, phase 1.
2014-05-29 20:16:47 -06:00
Jason Turner
b4ea27d28a
Add unsupported build support for Haiku
2014-05-27 06:51:38 +00:00
Jason Turner
e5d723621f
Merge branch 'develop' of https://github.com/ChaiScript/ChaiScript into develop
2014-05-23 09:57:29 -06:00
Jason Turner
46e7d0ab99
Clean up tab vs space issues
...
discovered by @axelstudios
2014-05-23 09:56:55 -06:00
Jason Turner
d5378f50af
Fix cygwin builds #121
...
Cygwin claims to be POSIX but only implementes part of
the dl_open interface.
For this usage, we revert to win32 interface when building on
Cygwin.
2014-05-13 14:55:27 -06:00
Jason Turner
be9632d0ad
Balance signed/unsigned issues between msvc and gcc
2014-05-11 12:30:21 -06:00
Jason Turner
61cd633084
Merge branch 'develop' of https://github.com/ChaiScript/ChaiScript into develop
...
Conflicts:
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_parser.hpp
2014-05-11 12:02:33 -06:00
Jason Turner
c35b35e4f8
Fix issues discovered while evaluating pvs-studio
2014-05-11 11:53:03 -06:00
Jason Turner
bcb7172037
Enable MSVC warning for thread safety with statics
...
Clean up a couple of additional issues found while playing with /Wall in MSVC.
2014-05-11 10:52:07 -06:00
Jason Turner
37982cbdaa
Fix issues found by cppcheck 1.65
2014-05-10 20:12:49 -06:00
Jason Turner
c0bf6ee99d
Apply corrections from the "include what you use" tool
...
Generally cleanups of the includes. Making sure each file
can properly stand on its own and forward declares when possible.
2014-05-10 18:41:11 -06:00
Jason Turner
f29af4618a
Make override a #define for gcc 4.6 support
2014-05-10 09:04:41 -06:00
Jason Turner
6eab8ddfe1
Apply changes applied from clang-modernize
...
Needed 1-2 cleanups by hand. 99% was automatic.
* The version that ships with ubuntu 14.04 seems to not work.
I had to build from scratch
* Use cmake to generate the build commands that clang-modernize wants
```sh
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS:bool=true ../ChaiScript/
```
* Use the clang-modernize tool. Note that you have to be pretty explicit
about the include paths if you want it to also update your include
files
```sh
../llvm-build/bin/clang-modernize ../ChaiScript/src/*.cpp -for-compilers=gcc-4.8 -include /home/jason/ChaiScript/include,/hjason/ChaiScript/include/chaiscript,/home/jason/ChaiScript/include/chaiscript/dispatchkit,/home/jason/ChaiScript/include/chaiscript/language -p compile_commands.json
```
* In my case, it left some unused `typedef`s behind, which I cleaned up.
2014-05-10 08:25:38 -06:00
Jason Turner
5f2796868b
Fix threading warning discovered with MSVC -Wall
...
MSVC in -Wall mode creates approximately 6,500 warnings. 5,000+ of which are
from the std library. The one gem was the potential for threading issues with
the initilization of a function scoped static.
This fixes that.
2014-05-09 17:46:06 -06:00
Jason Turner
c2d08457ad
Fix thread-unsafe builds
2014-05-09 15:55:29 -06:00
Jason Turner
b87c37032b
Add version numbers that can be queried at runtime
2014-05-04 10:14:42 -06:00
Jason Turner
fcc9bd9bbb
Start porting of documentatation to markdown style
2014-04-13 19:16:51 -06:00
Jason Turner
2bd1910c70
~30% performance improvement with threading enabled
2014-04-05 22:49:50 -06:00
Jason Turner
926e962fc0
Merge remote-tracking branch 'origin/release-4.x'
...
Conflicts:
.travis.yml
CMakeLists.txt
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/boxed_cast.hpp
include/chaiscript/dispatchkit/dynamic_cast_conversion.hpp
include/chaiscript/dispatchkit/function_call_detail.hpp
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/language/chaiscript_common.hpp
2014-03-29 07:30:14 -06:00
Jason Turner
6b0e0dc7ae
Removed erroneously kept debug output
2014-03-28 07:04:51 -06:00
Jason Turner
65b0846e41
Address some of the issues found by cppcheck
2014-03-26 16:59:41 -06:00
Jason Turner
656b438002
First cast up chain, if that fails, cast down
2014-03-26 10:52:56 -06:00
Jason Turner
56b036052f
Add test for automatic casting down in inheritance
2014-03-26 09:14:06 -06:00
Jason Turner
7fade8e841
Allow for automatic conversion of arithmetic types
...
for returns from chaiscript function wrappers
2014-03-26 08:11:37 -06:00
Jason Turner
8d96abe730
Fix test for overload registration with add_class utility
2014-03-24 14:09:20 -06:00
Jason Turner
4dbe9df21e
Merge branch 'ChaiScript_5_0_CPP_11' of https://github.com/ChaiScript/ChaiScript into ChaiScript_5_0_CPP_11
2014-03-23 16:51:59 -06:00
Jason Turner
bf0737a35c
Cleanup search for chaiscript_stdlib and fix some bugs
2014-03-23 16:42:04 -06:00
Jason Turner
00c8bf4973
Merge branch 'ChaiScript_5_0_CPP_11' of https://github.com/ChaiScript/ChaiScript into ChaiScript_5_0_CPP_11
2014-03-22 16:26:51 -06:00
Jason Turner
593ce462f7
Re-enable C++11 registration utility
...
The latest VisualStudio 2013 CTP2 sworks with this now. Be sure to install it to build chaiscript
2014-03-22 16:24:16 -06:00
Jason Turner
ee35eb1512
Merge branch 'ChaiScript_5_0_CPP_11' of https://github.com/ChaiScript/ChaiScript into ChaiScript_5_0_CPP_11
2014-03-04 11:21:25 -07:00
Jason Turner
ebbcc5cbdb
Catch missing virtual destructors, enable g++ warnings
2014-03-04 11:20:45 -07:00
Jason Turner
dbd9534bd9
Eliminate warnings on MSVC 2013
...
Note that this required ignoring a few warnings with pragmas, changing the
parameter type and return types of std::string::find functions to size_t
from int and a new global warning disable on MSVC.
I've managed to avoid global warning disables up to this point in the
code, but I don't see a way around the "decorated name too long (C4503)" warning.
Closes #100
2014-03-02 08:18:36 -07:00
Jason Turner
a38d89cb41
Add fixes for parsing of inplace vectors with newlines
...
from jespada
2014-03-01 13:49:03 -07:00
Jason Turner
9cf5064a3b
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
src/reflection.cpp
2014-02-22 16:41:28 -07:00
Jason Turner
af44da916a
Fix warnings and errors on VisualStudio 2013
...
Interestingly, VS2013 with Boost 1.55 exhibited the issues complained
about in issue #92 , so I was able to provide an appropriate fix. It would
appear to be bugs in both compilers, which seems very odd.
2014-02-22 16:09:34 -07:00
Jason Turner
8aedd80e1a
Merge branch 'ChaiScript_5_0_CPP_11' of https://github.com/ChaiScript/ChaiScript into ChaiScript_5_0_CPP_11
2014-02-18 13:02:06 -07:00
Jason Turner
52bb08f4d5
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap_stl.hpp
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_prelude.hpp
2014-02-17 16:31:16 -07:00
Jason Turner
71348b7967
Update copyrights to 2014 and some comment formatting
2014-02-17 16:24:29 -07:00
Jason Turner
5272a64be9
Fix (legit) warning in VisualStudio
2014-01-05 16:27:32 -07:00
Jason Turner
e667b4df5f
Fix missing empty, clear and size methods for strings
...
Fixes bugs #95 and #93
2014-01-05 11:52:59 -07:00
Jason Turner
7cebc8d748
Make map::count() properly const. #90
2013-11-27 09:36:50 -07:00
Jason Turner
5cb78ecd68
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap_stl.hpp
include/chaiscript/dispatchkit/boxed_number.hpp
2013-11-27 09:18:08 -07:00
Jason Turner
41f6ca18ea
Prevent the user from naming an object with "::" #91
2013-11-27 08:53:34 -07:00
Jason Turner
a26d628e5c
Cleanup (indentation, comments) for non-const global support
...
@Zoomulator - I pulled in your non-const global commits.
2013-11-27 08:19:26 -07:00
Jason Turner
d5fef3121a
Merge remote-tracking branch 'zoomulator/master'
...
Adding zoomulator's patches for allowing of non-const globals if the user
wants to.
2013-11-27 08:06:39 -07:00
Jason Turner
16f09794cf
Fixes #88 : Linking error on MacOS Mavericks
...
The c++ library implementation on MacOS is broken, it does not allow you to
correctly use points to members of std::string. We work around this by not
directly using member pointers and instead wrapping the method calls
with our own functions.
2013-11-27 08:00:23 -07:00
Jason Turner
26722d648d
Merge pull request #87 from bmario/ChaiScript_5_0_CPP_11
...
Fixes build issue for Boxed_Value
2013-11-26 16:12:57 -08:00
Jason Turner
510d550d64
Fix static analysis issue
2013-11-02 08:18:09 -06:00
Jason Turner
73b3762f7a
Get ChaiScript ported to MSVC 2013. See Notes in code.
2013-11-02 07:42:06 -06:00
Mario Bielert
21e3d1cc0a
Fixes build issue for Boxed_Value
...
This ixes the problem, that one has to include chaiscript.hpp to build
compilation units, which only use Boxed_Value and boxed_cast.
You can now just include boxed_cast.hpp. This decreases build time
significant.
2013-07-22 21:24:16 +02:00
Jason Turner
1708024372
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/chaiscript_threading.hpp
include/chaiscript/dispatchkit/boxed_value.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
samples/example.cpp
src/test_module.cpp
unittests/multithreaded_test.cpp
2013-05-27 08:48:59 -06:00
Jason Turner
101225aa68
- Fix legit threading issue which shows itself on clang / macos mostly
...
- Fix all warnings that I can / ignore those caused by boost
2013-05-26 22:47:23 -06:00
Jason Turner
6e71409a52
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
2013-04-25 16:17:51 -06:00
Jason Turner
feb344e744
Fix various warnings found by MSVC
2013-04-25 15:39:03 -06:00
Jason Turner
1a48dd9480
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/dynamic_object.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
2013-04-25 12:42:00 -06:00
Jason Turner
12d842ca5a
Fix some additional warnings on MacOS
2013-04-25 12:21:41 -06:00
Jason Turner
d0ce78061c
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/boxed_cast.hpp
include/chaiscript/dispatchkit/dynamic_cast_conversion.hpp
include/chaiscript/dispatchkit/function_call.hpp
include/chaiscript/dispatchkit/function_call_detail.hpp
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
2013-04-25 09:40:22 -06:00
Jason Turner
e68599920a
Move to pointers for Dynamic_Cast_Conversions to avoid problems with using the class before it's defined
2013-04-25 09:15:09 -06:00
Jason Turner
ae1221d46d
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2013-03-28 21:18:44 -06:00
Jason Turner
9d59098015
Merge branch 'ChaiScript_5_0_CPP_11' of https://github.com/ChaiScript/ChaiScript into ChaiScript_5_0_CPP_11
2013-03-28 21:07:19 -06:00
Jason
6fea178f5d
Merge branch 'master' into ChaiScript_5_0_CPP_11
2013-03-28 21:02:22 -06:00
Markus Groß
241ca75204
Correct pretty_print for inline arrays.
2013-02-28 17:39:30 +01:00
Windoze
1f1656a6c2
C++11 needs constexpr constructor when object used in constexpr expression
2013-02-27 13:33:27 +08:00
Jason Turner
47e44d2f9e
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/boxed_cast.hpp
include/chaiscript/dispatchkit/boxed_cast_helper.hpp
include/chaiscript/dispatchkit/dynamic_cast_conversion.hpp
include/chaiscript/dispatchkit/dynamic_object.hpp
include/chaiscript/dispatchkit/exception_specification.hpp
include/chaiscript/dispatchkit/function_call.hpp
include/chaiscript/dispatchkit/function_call_detail.hpp
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_eval.hpp
2013-02-25 12:08:32 -07:00
Jason Turner
2afc09dad4
Eradicate global base_class registrations to prevent problems with threading and general memory management issues with knowing how and when to clean them up.
2013-02-25 11:00:14 -07:00
Jason Turner
f338066298
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2013-02-24 14:30:41 -07:00
Jason Turner
d068ce472c
Clean up constuctors for AST_Node types
2013-02-24 13:55:20 -07:00
Jason Turner
380b94a8d2
Clean up implementation of for and while loops to make them easier to read and reduce code copying
2013-02-24 09:01:26 -07:00
Jason Turner
dd79534de1
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_parser.hpp
2013-02-23 21:37:50 -07:00
Jason Turner
48f538438d
Get all for loop related unit tests passing and expand the types of expressions
...
that can exist in a for loop
2013-02-23 21:14:37 -07:00
Jason Turner
c9995480e6
Add 'continue' command for loops. Also enhance for() unit tests which are now breaking and need to be fixed
2013-02-23 14:49:20 -07:00
Jason Turner
47ab27fd11
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/proxy_functions.hpp
releasenotes.txt
2012-11-27 21:42:21 -07:00
Jason Turner
0ea8931b21
Add ability to call functions requiring arithmetic value conversions
...
- Conversions are only attempted on a dispatch
- Conversions are only attempted after a normal dispatch has failed
- Conversions are only attempted if exactly one function matches
the signature of the parameters passed in - excluding the mismatched
arithmetic parameters
- This feature should not be relied on in performance critical code
overhead is added for each function call that requires a conversion
to execute, see the tests performed above.
2012-11-27 21:21:37 -07:00
Jason Turner
7917ea02dc
Fix linux build error discovered with 4.0.0 release
2012-11-17 20:30:53 -07:00
Jason Turner
85ba42849b
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap_stl.hpp
include/chaiscript/language/chaiscript_parser.hpp
unittests/multithreaded_test.cpp
2012-11-16 16:32:39 -07:00
Jason Turner
58f3256389
Fix function pointer issue for substr on VS 2010 32bit
2012-11-16 13:58:03 -07:00
Jason Turner
f1a4c4c427
Fix compiler warning found on VS 2008 64bit
2012-11-16 12:57:15 -07:00
Jason Turner
afd27a4b01
Fix errors and warnings found on VisualStudio 2005
2012-11-16 12:27:41 -07:00
Jason Turner
6bb90f9d6d
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2012-11-10 16:59:32 -07:00
Jason Turner
4c65e45598
Correct signing and sizing of integer literals #77
2012-11-10 16:31:05 -07:00
Jason Turner
57c6d72a79
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bind_first.hpp
include/chaiscript/dispatchkit/bootstrap_stl.hpp
include/chaiscript/dispatchkit/boxed_cast.hpp
include/chaiscript/dispatchkit/function_call_detail.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
2012-11-07 17:04:54 -07:00
Jason Turner
923369a4f4
Add support for string::substr #75
...
Also add forgotten missing test for number suffixes
2012-11-07 15:48:25 -07:00
Jason Turner
964342bff3
Prevent leaking macros #76
2012-11-07 14:13:08 -07:00
Jason Turner
c5a86401aa
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap_stl.hpp
2012-11-07 13:47:09 -07:00
Jason Turner
623c64299a
Add ability to specify number prefixes for floating point and integers.
2012-11-07 12:05:34 -07:00
Kim Simmons
abcc6c9e3e
Chai::add_global was added
...
Just a modification of the add_global_const. I don't see the point in
limiting the user to binding only constants to the global scope if the user
wishes to have a thread safe mutable object as a global. This was my case
anyway.
2012-11-06 17:20:56 +01:00
Jason Turner
9832d1ce39
Add insert and insert_ref methods to "map" types
2012-09-26 12:38:32 -06:00
Jason Turner
ed7bdfb172
Add "erase" function to associative sets (maps)
2012-09-26 11:31:19 -06:00
Jason Turner
d84b4c0b37
Merge branch 'master' into ChaiScript_5_0_CPP_11
2012-07-18 07:30:34 -06:00
Markus Groß
9e3c2960aa
Make some Boxed_Number functions const.
2012-07-17 18:26:58 +02:00
Jason Turner
84e17b8d06
Port Boxed_Number enhancements from mgee to C++11 branch. #53
2012-07-16 22:24:25 -06:00
Jason Turner
9fd4a1b9f5
Merge pull request #53 from mgee/master
...
More Boxed_Number enhancements
2012-07-16 21:18:18 -07:00
Jason Turner
32fab64882
Merge branch 'master' into 2011-09-09-CxScript
2012-07-16 22:17:37 -06:00
Jason Turner
8cb49e9494
Merge branch 'master' into 2011-09-09-CxScript
2012-07-16 22:12:29 -06:00
Jason Turner
1155720b14
Add the ability to save and restore the state of local variables #25
2012-07-16 21:27:42 -06:00
Jason Turner
7052234650
Revert "Use unique_ptr instead of shared_ptr in our any implementation, >10% speed improvement"
...
This reverts commit f27739cf7183a0f9cbdffaa7e29c7b47b25b0508.
2012-07-13 13:54:48 -06:00
Jason Turner
d8f881239f
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2012-07-13 12:36:37 -06:00
Jason Turner
0a436398dd
Use make_shared #64
2012-07-13 12:25:50 -06:00
Jason Turner
4e33e969dc
Minor header file include cleanup
2012-07-10 13:27:47 -06:00
Jason Turner
f27739cf71
Use unique_ptr instead of shared_ptr in our any implementation, >10% speed improvement
2012-07-09 16:20:55 -06:00
Markus Groß
08d9d9e28e
Adapt toString to proper naming scheme.
2012-07-03 18:42:27 +02:00
Markus Groß
935276fccd
Adapt getAs function to proper naming scheme.
2012-07-03 18:42:04 +02:00
Markus Groß
f8feaf6ea8
Add toString function to Boxed_Number.
...
For uint8_t, int8_t and char the value is first
converted to an appropriate int type.
This way the value is converted to a number
rather than a character.
2012-06-29 16:48:53 +02:00
Markus Groß
dfcc415c31
Add getAs<T> function to Boxed_Number to enable casting to a target type.
2012-06-29 08:00:00 +02:00
Markus Groß
927235d871
Add templated constructor to Boxed_Number to allow creating from primitive number types.
2012-06-29 07:42:16 +02:00
Jason Turner
a6924bcc9e
Use C++11 Raw Strings for chaiscript prelude
2012-06-28 21:24:51 -06:00
Jason Turner
bf4f90a4ff
Fix build error for building without threads
2012-06-25 16:44:22 -06:00
Jason Turner
45f07f9924
Update method error output to show the expression it is trying to execute.
2012-06-25 16:26:36 -06:00
Jason Turner
d3b8daeff0
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
CMakeLists.txt
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_eval.hpp
2012-06-25 15:40:19 -06:00
Jason Turner
39d817469c
Optionally allow the user to specify the file name to report to end users when calling "eval"
2012-06-25 08:05:58 -06:00
Jason Turner
7a25625fdd
Fix failing error reporting for solitary (non-dispatched) guarded function
2012-06-25 07:53:15 -06:00
Jason Turner
a8ea5f151d
Extreme error reporting capabilities update and bug fixes
2012-06-25 06:31:34 -06:00
Jason Turner
6cda1140c4
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_eval.hpp
include/chaiscript/language/chaiscript_parser.hpp
2012-06-22 18:12:51 -06:00
Jason Turner
5a76d98692
Enhance and correct error messages
...
Backported from C++11 branch.
Conflicts:
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_eval.hpp
include/chaiscript/language/chaiscript_parser.hpp
2012-06-22 18:00:10 -06:00
Jason Turner
949f54b9c4
Use constexpr where possible in user_type() functions
...
- Task #52
- Gives some performance improvement
2012-06-22 14:19:52 -06:00
Jason Turner
f6e53dd42d
Correct some threading issues
...
- prototype avoiding a lock with __thread in g++
- pass -pthread and -lpthread when building to get threading actually working
2012-06-22 14:18:44 -06:00
Jason Turner
a951d2b0af
Fix crash discovered by the move to using stdlib for all tests.
2012-06-04 07:32:05 -06:00
Jason Turner
5a380abc68
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/dispatchkit.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
src/multithreaded.cpp
2012-06-03 09:27:05 -06:00
Jason Turner
d2aba2ef56
Eliminate boost::lexical_cast usage completely #39
2012-06-03 09:20:15 -06:00
Jason Turner
4ebfe264e9
Make stdlib
...
* Build the standard library as a module .so
* Locate and load lib at runtime as a module
if it is not provided to the ChaiScript
constructor.
Decreases compile time by 1/2 for common use cases
where the user can use the dynamic library module.
2012-06-03 08:11:37 -06:00
Jason Turner
a3e299fe1b
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_common.hpp
src/main.cpp
2012-06-03 06:04:24 -06:00
Jason Turner
832df7f9e8
Remove offending boost code which causes warnings in some cases #39
2012-06-02 17:45:10 -06:00
Jason Turner
6c53e08e9b
Fix compiler warning in snow leopard
2012-06-01 15:07:53 -06:00
Jason Turner
66deef52c8
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap_stl.hpp
2012-06-01 13:46:58 -06:00
Jason Turner
a5f29e93f5
Eliminate all VC++10 64bit Warnings.
2012-06-01 12:21:14 -06:00
Jason Turner
8f7793a795
Merge branch 'master' into 2010-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/bad_boxed_cast.hpp
2012-06-01 08:50:15 -06:00
Jason Turner
7f253bd6c1
Catch a few things found with more aggressive g++ warnings
2012-06-01 08:47:40 -06:00
Jason Turner
2969f61fe4
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/boxed_number.hpp
include/chaiscript/dispatchkit/dispatchkit.hpp
2012-05-28 11:42:55 -06:00
Jason Turner
7cbd494123
It seems boost dropped the BOOST_GCC define?
2012-05-28 11:35:53 -06:00
Jason Turner
ed15cc1730
Clean up a few warnings found in Windows.
2012-05-28 10:48:19 -06:00
Jason Turner
db8863c736
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2012-05-25 07:10:32 -06:00
Jason Turner
13a049cf54
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_engine.hpp
2012-05-24 19:33:48 -06:00
Jason Turner
4233d21e5b
Correct scope of operator calls
...
- Enhance reflection module to indicate inheritance
- Add ability to catch errors thrown from a eval
inside of a script
2012-05-24 19:25:29 -06:00
Jason Turner
13ffc92bc3
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
CMakeLists.txt
include/chaiscript/dispatchkit/boxed_value.hpp
include/chaiscript/language/chaiscript_eval.hpp
2012-05-21 10:47:12 -06:00
Jason Turner
433905b33c
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2012-05-21 10:17:33 -06:00
Jason Turner
3a7eff1478
Move to a bit smarter stack based object management
...
- we store all function parameters until the f
outer function call exits
- this results in more values being stored longer than
they need to be, but the results are predictable
and no leaks
2012-05-21 10:16:16 -06:00
Jason Turner
ef46d1bf60
Remove Boxed_Value dependencies, they are not a solution
2012-05-21 08:18:33 -06:00
Jonathan Turner
e853e2e4ac
Merge branch 'master' into 2011-09-09-CxScript
2012-05-20 10:48:45 -07:00
Jonathan Turner
4aec12c68f
Allow operator exprs to span lines
2012-05-20 10:47:50 -07:00
Jonathan Turner
1bdedd3b45
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_common.hpp
2012-05-20 10:36:49 -07:00
Jonathan Turner
a818e7b185
Merge branch 'master' of github.com:ChaiScript/ChaiScript
2012-05-20 10:17:43 -07:00
Jonathan Turner
5aed00dd0b
Add ternary condition (?:) operator
2012-05-20 10:17:21 -07:00
Jason Turner
349425fe8a
Make vector inplace construction consistent with map
...
- Clone elements into both vector and map
- Be sure to drop dependencies after elements are cloned in
2012-05-20 07:04:22 -06:00
Jason Turner
ba9d13bf7b
Merge branch 'master' into 2011-09-09-CxScript
2012-05-19 18:05:58 -06:00
Jason Turner
56757973b6
Actually reenable function
2012-05-19 18:05:41 -06:00
Jason Turner
16bdfe4571
Merge branch 'master' into 2011-09-09-CxScript
2012-05-19 09:51:19 -06:00
Jason Turner
804de05a0a
Fix object_lifetime_test which was broken by last perfomance fix
2012-05-19 09:50:49 -06:00
Jason Turner
0fd4b828f2
Fix some minor issues found by clang's static analyzer
2012-05-19 09:16:21 -06:00
Jason Turner
62891b8537
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_engine.hpp
2012-05-19 07:33:16 -06:00
Jason Turner
ae02706c71
Approx 12% speedup for function call heavy profile.chai
2012-05-19 07:09:55 -06:00
Jason Turner
a0f7c46cc9
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_eval.hpp
2012-05-18 16:57:05 -06:00
Jason Turner
08c153abea
Clean up some additional exception handling with new stack handler
2012-05-18 16:37:39 -06:00
Jason Turner
897ad7007f
Get system introspection functions fully working
2012-05-18 16:25:13 -06:00
Jason Turner
13fb930676
First part of system introspection for objs and funcs added
2012-05-18 15:31:42 -06:00
Jason Turner
90125d0f9a
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
contrib/geshi/chaiscript.php
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_eval.hpp
include/chaiscript/language/chaiscript_parser.hpp
2012-05-18 09:05:46 -06:00
Jonathan Turner
cebd2c9763
Adding support for switch/case/default to 4.x
2012-05-17 13:56:10 -07:00
Jonathan Turner
025db4ce3a
Oops. Properly handle empty switch statements.
2012-05-17 13:20:15 -07:00
Jonathan Turner
4e14a57016
Add support for switch/case/default statements.
2012-05-17 12:43:25 -07:00
Jonathan Turner
37b8e6c3f9
Merge branch '2011-09-09-CxScript' of github.com:ChaiScript/ChaiScript into 2011-09-09-CxScript
2012-05-17 10:16:35 -07:00
Jonathan Turner
c73f16fdfe
Fixing 4.x grammar to be backward compatible.
...
Added 3.x unit tests back to show this.
2012-05-17 10:14:50 -07:00
Jason Turner
af1e02b0bb
Update copyrights to 2012 #23
2012-05-16 11:55:51 -06:00
Jason Turner
bca86c87e1
Update copyrights to 2012 #23
2012-05-16 11:54:46 -06:00
Jason Turner
a04dbf2c2d
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
unittests/object_lifetime_test.cpp
unittests/utility_test.cpp
2012-05-16 11:50:44 -06:00
Jason Turner
4bcaa75fa4
Throw eval exception if a variable or function is redefined #28
2012-05-16 11:40:43 -06:00
Jason Turner
8e24eef265
Tweaks to clang support and fix for clang/module support
2012-05-15 13:56:59 -06:00
Jason Turner
974c903d1c
Get compiling with broken clang++ / libc++ implementation
...
libc++ will not let you get a pointer to a string member
2012-05-15 13:25:13 -06:00
Jason Turner
9ec78752a0
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/boxed_number.hpp
samples/example.cpp
2012-05-14 18:20:36 -06:00
Jason Turner
437f6a03a9
Slight cleanup of the boxed_number cleanups from mgee
2012-05-14 18:09:55 -06:00
Jason Turner
48ecb3e2b4
Some performance improvements by using perfect argument forwarding
2012-05-14 17:45:30 -06:00
Markus Groß
59dfc847ae
Make Boxed_Number assignable from Boxed_Value.
2012-05-14 21:34:28 +02:00
Markus Groß
cdfefed385
Add default constructor for Boxed_Number
2012-05-14 20:13:39 +02:00
Jason Turner
98d2eadde2
Explicitly default the copy assignment operator for clang's benefit
2012-05-14 10:15:38 -06:00
Jason Turner
286b130f47
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
CMakeLists.txt
include/chaiscript/dispatchkit/boxed_number.hpp
include/chaiscript/language/chaiscript_engine.hpp
2012-05-14 10:08:04 -06:00