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
9449fca22f
Memory leak error fixes. Various compiler fixes.
2015-01-15 15:42:35 -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
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
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
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
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
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
63a083b47b
Remove uses of std::endl, which imply a flush
2014-11-13 10:13:51 -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
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
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
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
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
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
6c2ccf3869
Various cleanups prefering lambda to bind
2014-09-14 21:53:11 -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
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
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
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
b87c37032b
Add version numbers that can be queried at runtime
2014-05-04 10:14:42 -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
65b0846e41
Address some of the issues found by cppcheck
2014-03-26 16:59:41 -06:00
Jason Turner
bf0737a35c
Cleanup search for chaiscript_stdlib and fix some bugs
2014-03-23 16:42:04 -06: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
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
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
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
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
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
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
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
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
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
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
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
4e33e969dc
Minor header file include cleanup
2012-07-10 13:27:47 -06:00
Jason Turner
a6924bcc9e
Use C++11 Raw Strings for chaiscript prelude
2012-06-28 21:24:51 -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