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
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
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
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
ed15cc1730
Clean up a few warnings found in Windows.
2012-05-28 10:48:19 -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
16bdfe4571
Merge branch 'master' into 2011-09-09-CxScript
2012-05-19 09:51:19 -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
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
Jason Turner
13f98fa8ce
Move "use" function to be public
2012-01-30 11:26:46 -07:00
Jason Turner
b615d2a423
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2012-01-30 09:10:43 -07:00
Jason Turner
b0953fb466
Minor cleanup releated to attribute fix
2012-01-30 08:55:12 -07:00
Jason Turner
1186926f30
Fix duplicate object attribute name problem
2012-01-30 08:48:01 -07:00
Jason Turner
136b877afa
Reduce cost of including chaiscript.hpp
...
- ChaiScript no longer includes or automatically instantiates std lib
- ChaiScript constructor now requires an std lib instance in the form
of a ModulePtr object
- This new layout facilitates better usage of compilation firewalls and
factories for reducing the overall impact of ChaiScript on a project
2011-12-27 21:37:00 -07:00
Jonathan Turner
5a3975b7a4
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_parser.hpp
2011-10-01 10:24:48 -06:00
Jonathan Turner
bc75df4d58
Fixed parsing of block statements vs initializer expressions.
2011-10-01 10:19:45 -06:00
Jason Turner
db0e342a96
Remove little used Param_List_Builder
2011-09-25 18:34:02 -06:00
Jason Turner
702b5fdba1
Enhance and correct error messages
2011-09-25 16:46:05 -06:00
Jason Turner
e1e0561c7e
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
2011-09-24 15:10:18 -06:00
Jason Turner
52d9e1e871
Remove := operator and fix & usage.
2011-09-24 15:06:31 -06:00
Jason Turner
a28dfd8695
Get & variable declarations working
2011-09-24 14:21:21 -06:00
Jonathan Turner
3765c23598
Switch lambda syntax over to [](){} format, to line up with C++11.
2011-09-24 13:31:24 -06:00
Jonathan Turner
784ca41270
Switch vectors and maps over to curly braces from square braces to line up with C++11.
2011-09-24 13:15:12 -06:00
Jonathan Turner
4a99471304
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
2011-09-24 12:26:17 -06:00
Jonathan Turner
e0d7977f8a
Adding reference parsing at a var decl.
2011-09-24 12:25:55 -06:00
Jason Turner
e3350fe55f
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
2011-09-24 11:55:36 -06:00
Jonathan Turner
ac4bb95dfb
Rename var->auto.
2011-09-24 11:50:17 -06:00
Jason Turner
535adce298
Remove exception specifications in favor of noexcept keyword
2011-09-21 12:22:52 -06:00
Jason Turner
12bd5b0af5
Boost eradicated from ChaiScript
2011-09-21 08:36:46 -06:00
Jason Turner
6f282b6a56
Remove need for boost::function_types library
2011-09-12 08:18:51 -06:00
Jason Turner
194001f9a1
Remove boost::any requirement by providing our own implementation
2011-09-11 19:51:37 -06:00
Jason Turner
cd97880d70
Drop boost::optional requirement
2011-09-11 06:56:15 -06:00
Jason Turner
4522ff0732
Remove various other boost libraries
2011-09-10 13:49:29 -06:00
Jason Turner
aa402fdfde
swap boost::reference_wrapper for std::reference_wrapper
2011-09-10 10:52:59 -06:00
Jason Turner
53108463df
Move from boost::bind to std::bind
2011-09-10 10:19:55 -06:00
Jason Turner
c842bf14c1
Move from boost::function to std::function
2011-09-10 09:37:40 -06:00
Jason Turner
e2da56f199
Eliminate use of boost::shared_ptr
2011-09-10 07:24:46 -06:00
Jason Turner
afa96ecbf9
Begin port to C++11
2011-09-10 06:55:27 -06:00
Jason Turner
2b64c90a0e
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
...
Conflicts:
CMakeLists.txt
Fixed conflicted CMakeLists.txt
2011-09-09 13:58:19 -06:00
Jason Turner
a386142fa6
Get chaiscript compiling with -pedantic. Closes issue #9
2011-09-09 13:40:50 -06:00
Sven-Hendrik Haase
2d23578e0b
Removing unused variables
2011-08-03 19:22:18 +02:00
Jason Turner
5ff14a54db
Commented out code removal
2011-06-16 10:42:26 -06:00
Jason Turner
bb0edcb62a
Add exception_specification and unittests for it. #6
2011-06-16 10:14:52 -06:00
Jonathan Turner
5426496b4f
Fix parsing of member access and function calls
2011-06-13 07:43:51 -07:00
Jason Turner
b064bb61e9
Finish renaming and cleaning up of Boxed_Number type for dump_system() output
2011-06-10 10:12:09 -06:00
Jason Turner
7a9baeb350
Rename of numeric to number
2011-06-08 13:53:55 -06:00
Jason Turner
1932cbfbbc
Eliminate duplicate code and reduce Boxed_Value copies necessary
2011-06-04 12:31:33 -06:00
Jonathan Turner
8fecf5c145
Merge branch 'master' of github.com:ChaiScript/ChaiScript
2011-06-04 11:02:07 -07:00
Jonathan Turner
6131a9c4c1
Moved common operators into their own AST nodes and removed the operator child.
2011-06-04 11:01:35 -07:00
Jason Turner
881d569d8e
Remove unnecessary loop from Binary_Operator
2011-06-04 10:34:15 -06:00
Jonathan Turner
6c18c197c6
Fixed operator parsing to return trees instead of flat representations. Fixed evaluator to not loop over equations.
2011-06-04 09:15:19 -07:00
Jason Turner
36faba8ed3
Bypass dispatch during numeric operations. 2x speedup
2011-06-04 04:25:54 +08:00
Jason Turner
b933bb6c50
Begin move of Operators code out a level so that it can be used before dispatch
2011-06-04 04:25:42 +08:00
Jason Turner
897385953c
More documentation updates and additions to getting started guide
2011-05-22 12:08:24 -06:00
Jason Turner
319f9e4de9
Fix issues with trim() and with unit tests relying on certain line endings.
2011-05-20 16:01:50 -06:00
Jason Turner
2786156086
Finalize documentation for 3.0.0 release and update version number in CMakeLists.txt
2011-05-20 13:44:34 -06:00
Jason Turner
e5f9dbb93b
Fix failing unit tests related to recent renaming of function to Function
2011-04-26 10:17:24 -06:00
Jason Turner
61b8481514
Further documentation of the prelude / standard library.
2011-04-25 20:24:31 -06:00
Jason Turner
8a0ef143c9
C++ API documentation is complete. ChaiScript keyword and language documentation about 75% complete (mostly ported from website.)
2011-04-17 09:29:34 -06:00
Jason Turner
f1918f147d
More documentation updates.
2011-04-04 07:08:28 -06:00
Jason Turner
0d238b1617
Documentation updates and namespace reorg for docs.
2011-04-02 20:52:49 -06:00
Jason Turner
d22a77503c
Fix build errors and warnings for VS2010
2011-04-02 11:21:11 -06:00
Jason Turner
8dec35ba19
Merge branch '2011-03-15-DocumentationUpdates'
...
Conflicts:
include/chaiscript/language/chaiscript_engine.hpp
2011-03-29 20:24:17 -06:00
Jason Turner
8ecd3a084b
Add simple efficencies for static ids
2011-03-28 19:50:41 -06:00
Jason Turner
79e8af4f6e
Enhance eval error stack reporting
...
Use OOP to avoid code duplication for eval error tracking. This results
in much more robust stack error reporting and 400 LOC less.
2011-03-27 21:03:24 -06:00
Jason Turner
de5822873b
Use RAII for scope management
...
Possibly fixes a few bugs where scope pops where missed.
2011-03-27 10:03:37 -06:00
Jason Turner
d6b8e32373
Allow for parse time evaluation of const values.
...
The goal is to allow for more evaluation at parse time, in general, to
increase eval time performance.
- Make AST_Node non-constructable except by derived classes.
- Make data in AST_Node const (as much as possible).
- Replace reflection "text = " with replace_child() (where the
replacement must be with a new parse tree).
- Evaluate floats, strings, ints, chars at parse time to avoid repeat
evaluations (~10% speed up in loops in -O3)
2011-03-27 08:17:04 -06:00
Jason Turner
bbe89e61bc
elimination of unused / outdated code and documentation cleanups.
2011-03-26 22:42:11 -06:00
Jason Turner
92c836c58a
Simplify mutex code by providing stubs that are do nothing during
...
CHAISCRIPT_NO_THREADS builds.
2011-03-25 22:49:17 -06:00
Jason Turner
58e5df0a9a
Even more reorganization of namespaces to help with documentation and
...
clarity.
2011-03-25 15:42:18 -06:00
Jason Turner
854737ea25
Fix compile time error for non-posix, non-win32 platforms.
2011-03-25 10:43:17 -06:00
Jason Turner
cd8bead54a
Further namespace reorganization and cleanup to limit to the user the
...
most important aspect of the API and make documenation easier.
2011-03-24 09:23:05 -06:00
Jason Turner
637164e457
Move around some namespaces for documentation purposes.
...
Fix problems with building on clang 2.8.
Remove unneeded function for get_engine() and fix functor<> calls that take a Boxed_Value
2011-03-15 17:35:14 -06:00
Jason Turner
9dd9ffec46
Update copyright information for 2011
2011-03-15 09:42:33 -06:00
Jason Turner
e3feb05e05
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2011-03-14 09:12:01 -06:00
Jason Turner
4e06478fb8
Amp up the warnings used in g++ and fix associated errors
2011-03-12 11:27:53 -07:00
Jason Turner
f6b6936348
Normalize on include guard style, removing __ reserved words
2011-03-08 14:06:09 -07:00
Jason Turner
0b97fcb4df
Add better namespaces to make documentation easier to handle
2011-03-05 22:50:38 -07:00
Jason Turner
5cc4a758ab
Make scoping more explicit during initialization of alphabet
2011-02-21 19:25:22 -07:00
Jason Turner
7c2550ba74
Modify alphabet to m_alphabet to match rest of coding style
2011-02-21 19:17:36 -07:00
clanmills
65d054b36e
Three lots of changes:
...
1) Changes post code review by Jason
2) Fixing bug in end of line processing on Windows with cr-lf
3) Adding command-line options to chai
2011-02-16 08:21:19 -08:00
clanmills
894063261e
Changes to parser.
2011-02-14 10:33:40 -08:00
Jason Turner
80f576a2f3
Reflection and introspection updates for task #85
2010-12-29 17:58:56 +00:00
Jason Turner
65edf30ef0
Fix regression in parsing of empty file. Visible in windows debug mode, but probably affects all platforms.
2010-11-15 22:45:57 +00:00
Jason Turner
3aee589274
Remove unused variable
2010-11-15 00:01:33 +00:00
Jason Turner
5f661fad20
Get rid of a C++ conversion and make it a static_cast
2010-11-12 23:19:30 +00:00
Jason Turner
e75a354a04
Apply some module and parameter variable naming standards. Remove ChaiScript template where it was no longer necessary.
2010-11-06 05:20:41 +00:00
Jason Turner
36173d277d
Closing issue #99 : shared const char * memory issues. Also, clean up some file loading overhead (did not seem to have an performance impact).
2010-11-05 22:01:39 +00:00
Jason Turner
e1e48d732f
Wrap up of clean up of warnings in 64bit visual studio
2010-11-05 04:05:02 +00:00
Jason Turner
6e18aa3dcd
Further VS 64bit warning fixes.
2010-11-05 02:43:52 +00:00
Jason Turner
67bad374a9
Get mutlifile compilation working again and add a test for it
2010-10-22 21:30:58 +00:00
Jonathan Turner
5a92146d28
Fix to disallow mixing inline map and array elements
2010-10-02 23:39:17 +00:00
Jason Turner
3ab91356e5
Make inline maps const. Add test for malformed inline map that causes crash
2010-10-02 22:50:09 +00:00
Jason Turner
fa2a7045a7
Make inplace vector construction result in const temp return. Also clean up construction of vectors in code
2010-10-02 22:19:51 +00:00
Jason Turner
d8c979b204
Fix for unexpected new base class to std::pair in VS2010. All tests now pass in VS2010
2010-10-02 20:38:46 +00:00
Jason Turner
74e719c053
Add object dependency tracking to make sure that during nested function calls all returned values are not prematurely destructed.
...
All tests pass on vc2008 now.
2010-10-02 13:26:06 +00:00
Jason Turner
7b77af3736
Remove commented out code and make variable declarations/scopes consistent with the rest of the C++ codebase
2010-09-30 19:16:03 +00:00
Jason Turner
8b35434e6f
rip out a couple hundred lines of code with inheritance
2010-09-30 18:17:32 +00:00
Jason Turner
670eb0692b
Visual studio warning reduction and compile fixes for vs2010. Warning suppression on vs2005. Fixes to get cmake working with boost autolinking. Update to support boost 1.44
2010-09-30 14:33:12 +00:00
Jason Turner
a39d70dbca
Rip out caching in dispatch kit to get a more clean view of the performance world
2010-09-19 23:24:52 +00:00
Jonathan Turner
cfa42158af
Clean up reflection a bit, and how we do pretty printing of ast nodes. Registered new internal_to_string in reflection module so that we
...
can have automatic pretty printing of ast nodes during repl eval.
2010-08-30 13:37:50 +00:00
Jonathan Turner
054179ead3
Commenting out of previous node value caching scheme. This allows us to profile later, without having these smaller optimizations
...
clutter up the flow. This also allows us to pass the reflection test.
2010-08-29 21:33:11 +00:00
Jonathan Turner
8a6a46d0d3
Fix to the method/array dispatch issue
2010-08-29 19:49:57 +00:00
Jason Turner
31feab6053
Fix to parsing of single-line comments where the comment at the end of a line was merging statements separated by a single line comment
2010-08-28 22:14:09 +00:00
Jason Turner
7ef12f634d
Register AST_Node and Parser, overloaded eval for AST_Node and some const correctness fixes
2010-08-28 21:48:30 +00:00
Jonathan Turner
c6452c4bd6
Rename of Token to AST_Node to be more correct
2010-08-28 18:38:01 +00:00
Jason Turner
329244759f
Fix warnings discovered on macos
2010-08-28 17:58:02 +00:00
Jonathan Turner
c5f20ea158
A little cleanup of logical and/or since those are now separate evals.
2010-08-19 14:42:18 +00:00
Jonathan Turner
58c62f6333
More refactoring of parser to use the token children types directly instead of using a giant switch statement during build_match.
2010-08-15 02:04:35 +00:00
Jonathan Turner
7f037b26d4
Updated email addresses in copyright information.
2010-08-10 05:24:07 +00:00
Jonathan Turner
b1e357423f
Move structure to being inheritance-based in preparation for reflection infrastructure. This technique relies on the vtable's dynamic dispatch for correct evaluation, and removes the giant switch eval style of previous revisions.
2010-08-08 17:18:32 +00:00
Jonathan Turner
d838f7a6d4
Renaming of helper function char_between. Adding help to check for hitting the end of input.
2010-08-07 02:18:51 +00:00
Jonathan Turner
556e7ad916
Cleaned up the formatting a bit. Switched parser over to using charBetween, which significantly improves
...
readability of the early parsing rules.
2010-08-06 11:17:53 +00:00
Jason Turner
b971ee44ad
Make warnings stricter on windows and clean up all legit warnings in our code.
2010-07-30 18:06:17 +00:00
Jason Turner
799b3ef388
Update copyright for 2010
2010-05-15 22:48:54 +00:00
Jason Turner
7ac9ea7249
Add the ability to specify "load_module" and "use" search paths. The capability is primitive and it is currently used by chaiscript_eval to set a single path from environment variables
2010-03-18 22:53:52 +00:00
Jason Turner
faaa964565
No longer allow a local variable to be used as a function during dot notation sugar lookup. It's far less confusing this way
2010-01-27 03:54:42 +00:00
Jason Turner
3a4421a57c
Fix empty array unit test by reimplementing the node->children.size() test erroneously removed in r466
2010-01-07 01:47:04 +00:00
Jonathan Turner
e5a29ede5f
Added 0b1010 binary format. Fixed hex and octal to allow negative ints
2009-12-11 14:46:12 +00:00
Jason Turner
0c0df2c982
VS 2008 related corrections.
2009-12-08 15:57:31 +00:00
Jason Turner
4457df9ff5
Fix NO_THREADS related issues
2009-12-06 05:12:02 +00:00
Jason Turner
e601de9d18
Reduce use of Param_List_Builder by providing call_function implementations for 0,1,2 arity
2009-12-06 01:31:58 +00:00
Jason Turner
645cdddd70
Small but measurable eval performance increase (in optimized builds) by managing the number of Boxed_Values copies and assignments
2009-12-05 18:54:55 +00:00
Jonathan Turner
ac8462fb67
Fix up some broken sample files
2009-12-02 14:29:42 +00:00
Jason Turner
e2a2c14c0d
Eliminate use of size_t in stl related wrappings
2009-12-01 02:56:02 +00:00
Jonathan Turner
c418644a5b
Fix for single-line comments stopping at semicolon.
2009-11-27 22:52:55 +00:00
Jason Turner
fbf8f53e04
Add Type_Info type and add *_type objects at time of type registration.
2009-11-21 22:47:44 +00:00
Jason Turner
1c6b2725b3
Provide some hints for dispatches with lhs (first param) that is const
2009-11-21 06:02:17 +00:00
Jason Turner
95c124ca35
Support better tracking of loaded modules for saving and setting of state
2009-11-21 05:28:00 +00:00
Jason Turner
1bd73884b2
Add documentation to the set_state get_state functions
2009-11-18 05:05:40 +00:00
Jason Turner
d3e4af433e
Add support for saving/restoring of chaiscript engine state.
2009-11-18 04:43:08 +00:00
Jason Turner
cca477dae6
Only share const globals between threads. Require all globals to be const.
2009-11-11 05:47:54 +00:00
Jonathan Turner
e14931f389
Move completely over to new operators
2009-11-10 14:07:51 +00:00
Jonathan Turner
1bc968e788
Add initial unaries
2009-11-08 16:27:39 +00:00
Jason Turner
fe5a935abd
add is_undef functionality to boxed_value
2009-11-08 15:16:15 +00:00
Jonathan Turner
d946cb7e9d
Small fix to the casting of values in boolean logical statements
2009-11-07 14:50:41 +00:00
Jonathan Turner
18bfead387
Move to a better operator parser, add support for most of the C++ binary operators
2009-11-07 14:43:12 +00:00
Jason Turner
d2d752ecd4
Fix registration of module loading functions
2009-10-19 14:00:48 +00:00
Jason Turner
b1d12fdc91
Further updates to the new bound function support, plus general cleanup of how it is used
2009-10-15 15:27:16 +00:00
Jonathan Turner
9827345213
Fix Id Literals so that they are keyed off an Id search. This allows us to add operator overloading on the parse side.
2009-10-14 13:51:35 +00:00
Jason Turner
480761c1f7
Add bound_fun helper and put it to use cleaning up the engine bootstrapping
2009-10-14 02:34:09 +00:00