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
95b69b7572
Merge branch 'master' into ChaiScript_5_0_CPP_11
2013-02-24 15:19:16 -07:00
Jason Turner
1858885010
Add example of wrapping data members of a class #79
2013-02-24 15:11:06 -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
fd72b2951a
Correct broken unit test for vector of suffixed numbers
2013-02-23 21:27:01 -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
e298333ac6
Add unit test of suffixed number inside of vector initialization
2013-02-23 08:53:25 -07:00
Jason Turner
691e002f90
Update to support building with MinGW #78
...
We cannot call MinGW a fully supported platform for C++11 yet:
- Concurrency is not yet supported by MinGW, so it is disabled by default
- A problem in the memory model / library loader is preventing derived type
casts from working. This may be able to be worked around, but has not been
yet.
2012-11-28 16:06:45 -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
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
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
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
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
8cb49e9494
Merge branch 'master' into 2011-09-09-CxScript
2012-07-16 22:12:29 -06:00
Jason Turner
441cdf0935
Add test showing c linkage working fine [ #16 ]
2012-07-16 22:10:40 -06:00
Jason Turner
f0016d978a
Add test to make sure simultaneous ChaiScript instantiations work
2012-07-16 21:51:06 -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
c2934caad6
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_engine.hpp
src/multithreaded.cpp
2012-07-13 13:32:29 -06:00
Jason Turner
9f309fcbe9
Add tests for multithreaded features #55
2012-07-10 15:10:09 -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
5e6a51ba63
Add failing unit test for remaining error condition to check for.
2012-06-25 07:44:14 -06:00
Jason Turner
a67022e31e
Prep for 5.0.0 release
2012-06-07 20:04:14 -06:00
Jason Turner
b7e1cf41e5
Move to using the new constructor that searched for the stdlib
...
to improve compile time.
2012-06-04 07:31:20 -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
654f7e6b01
Add unit test exposing how scope can leak into operator calls
2012-05-21 07:56:38 -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
9162b02ce9
Merge branch 'master' into 2011-09-09-CxScript
2012-05-19 21:42:30 -06:00
Jason Turner
6c57729779
Add unit test for pass_by_preference
2012-05-19 21:42:02 -06:00
Jason Turner
ba9d13bf7b
Merge branch 'master' into 2011-09-09-CxScript
2012-05-19 18:05:58 -06:00
Jason Turner
f1f4aeb4be
Add test and reenable function I accidentally commented out
2012-05-19 18:04:51 -06:00
Jason Turner
c386af6813
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2012-05-18 16:58:33 -06:00
Jason Turner
4c5df91d51
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
2012-05-18 16:58:13 -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
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
Jonathan Turner
7f5fce001b
Merge branch 'master' into 2011-09-09-CxScript
2012-05-18 08:45:14 -07:00
Jonathan Turner
8af41b1d3c
Add unit test for ignoring hash bang.
2012-05-18 08:43:03 -07: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
cf97a73485
Syntax updates to a few unit tests.
2012-05-17 10:27:26 -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
68df78a2a6
Add examples for using C++ lambdas with chaiscript. #32
2012-05-16 15:55:03 -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
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
277b4eec9a
Add failing test for short comparisons #26
2012-05-14 09:22:03 -06:00
Jason Turner
179a674b00
Fix fix for duplication attribute name errors
2012-01-30 09:16:20 -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
70db5d67ff
Add failing unit test for dynamic object attributes with the same name
2012-01-30 07:55:54 -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
Jason Turner
9a9d4e1ae0
Remove map_literal_access test, it's invalid as there is no const [] on maps
2011-10-01 11:15:56 -06:00
Jason Turner
3329732ceb
Add scoping test
2011-09-24 15:21:15 -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
1eb402e474
Adding an access to a map literal which doesn't seem to be working (though it's vector counterpart does)
2011-09-24 14:14:37 -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
4bf3783d0b
Adding new test that is just a var decl.
2011-09-24 12:26:45 -06:00
Jason Turner
92de42e42b
Modify "var" to "auto" for unit tests.
2011-09-24 12:05:08 -06:00
Jason Turner
d6b475239a
Remove boost from utility and associated module tests
2011-09-21 00:04:15 -06:00
Jason Turner
a3c3b8683b
Rename variables to reflect removal of boost
2011-09-11 09:22:44 -06:00
Jason Turner
b297162d13
Move from boost::type_traits to std::type_traits
2011-09-10 13:18:29 -06:00
Jason Turner
aa402fdfde
swap boost::reference_wrapper for std::reference_wrapper
2011-09-10 10:52:59 -06:00
Jason Turner
c842bf14c1
Move from boost::function to std::function
2011-09-10 09:37:40 -06:00
Jason Turner
afa96ecbf9
Begin port to C++11
2011-09-10 06:55:27 -06:00
Jason Turner
0293762904
Add ability to provide global consts in Module objects. Issue #14
2011-09-09 16:52:32 -06:00
Jason Turner
95c6131ce7
Add missing unit test file
2011-09-09 16:01:29 -06:00
Jason Turner
bb0edcb62a
Add exception_specification and unittests for it. #6
2011-06-16 10:14:52 -06:00
Jonathan Turner
9a015a5c49
Fix typo in unit test and add string literal access
2011-06-13 18:14:41 -07:00
Jonathan Turner
5426496b4f
Fix parsing of member access and function calls
2011-06-13 07:43:51 -07:00
Jason Turner
afae221cb3
Add tests for more complex uses of the index operator
2011-06-10 11:18:58 -06:00
Jason Turner
7a9baeb350
Rename of numeric to number
2011-06-08 13:53:55 -06:00
Jason Turner
92bfcfdcf3
Wrap up new Boxed_Numeric support
2011-06-04 04:25:36 +08:00
Jason Turner
226666c2bb
Rename Boxed_POD_Value to Boxed_Numeric, which is more correct.
2011-06-04 04:24:57 +08: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
e5f9dbb93b
Fix failing unit tests related to recent renaming of function to Function
2011-04-26 10:17:24 -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
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