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
87c29ebc91
Ensure that non-shared_ptr, non-boxed_value, non-reference return types
...
are treated as const.
2011-03-26 09:03:36 -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
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
46a669dab1
Fix problem with method specifiers for bad_dynamic_boxed_cast exception. Add support for operators to Utility.hpp
2011-03-11 17:56:46 -07:00
Jason Turner
d9a92a5148
Add std::exception as a base clase off std::runtime_error and provide unit test for it.
2011-03-09 21:41:32 -07:00
Jason Turner
0b97fcb4df
Add better namespaces to make documentation easier to handle
2011-03-05 22:50:38 -07:00
Jason Turner
80f576a2f3
Reflection and introspection updates for task #85
2010-12-29 17:58:56 +00:00
Jason Turner
0a2b5d7a40
Find, test and fix an issue related to function argument type reporting when discussing dynamic object functions (ie, def int::somefunc() {} )
2010-12-24 22:26:14 +00:00
Jason Turner
660e978da3
Implement test for function ordering for dispatch. Catch bug for "const" characterization of function parameters. Add test for type characterizations.
2010-12-13 03:32:47 +00:00
Jason Turner
811764e048
Object lifetime specificity test added.
2010-11-11 15:58:51 +00:00
Jason Turner
906140ec78
Find and fix bug in handling of bound function types_infos and arity.
...
Remote outdated samples. Move working samples into samples folder and make part of build process. Make building of samples optional.
Closing #107
2010-11-08 05:22:15 +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
67bad374a9
Get mutlifile compilation working again and add a test for it
2010-10-22 21:30:58 +00:00
Jason Turner
2cdfac4e47
Add function meta data functions, plus related tests, and some various cleanups for how functions are constructed internally
2010-10-14 14:33:17 +00:00
Jason Turner
0caa782437
Basic unit tests for casting to **. Storing of (double) pointer types is probably not something we will make an effort to support 100%.
...
Also, tests of all types that are supported.
2010-10-11 03:45:45 +00:00
Jason Turner
caa67e811c
Add boost::ref and boost::cref tests for inputs
2010-10-08 18:48:10 +00:00
Jason Turner
3f87210dc5
Several tests and fixes related to type conversions added. Still more to go.
2010-10-08 15:18:58 +00:00
Jason Turner
c3da778103
Preliminary boxed_cast_test added. This test is meant to test all possible boxed_cast conversions that are available. Currently... some basic ones are failing.
2010-10-08 03:07:26 +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
4ab29013ec
Add currently failing test for const range support
2010-10-02 21:31:18 +00:00
Jason Turner
3ae748c026
Add "Pair" unit test. It was the basis for failures with Dynamic_Object on MSVC2010
2010-10-02 21:28:13 +00:00
Jason Turner
10986c159f
Add support for automatic conversion between chaiscript functions and boost::function. Might merit some look to see how much overhead this adds.
2010-09-13 14:24:12 +00:00
Jason Turner
efae821996
Add some unit tests for reflection and recently discovered array lookup returned from a method problem
2010-08-28 22:55:43 +00:00
Jason Turner
f215cae866
Add string.c_str() and string.data() methods.
2010-08-05 13:38:11 +00:00
Jason Turner
a122403c20
Fix problem with functor<>() not casting to the proper type and add unit test for this case
2010-08-03 15:19:20 +00:00
Jason Turner
2b80ca8cc5
Add missing inheritance unit test
2010-08-03 01:18:15 +00:00
Jason Turner
4ec21ff552
Add test of dynamic object attribute access shared between c++ and chaiscript
2010-07-25 19:56:19 +00:00
Jason Turner
f7086c10ec
Roll back changes from last 2 checkins - user defined type conversions are going to be too slow and too hard to keep track of. Need more portable / generic approach to solving the actual problem - the ability to deal with inhertance properly
2010-07-23 14:55:32 +00:00
Jason Turner
35ac7342b6
Stub in of support for type conversions. Not yet fully implemented.
2010-07-17 21:49:27 +00:00
Jason Turner
3f9b5081c6
Add macro for helping with registering classes with ChaiScript, plus unit test for it
2010-07-17 01:01:21 +00:00
Jason Turner
e11eca406d
Get cpack working for source and deb distribtions. Still need to check nsis and rpm
2010-03-29 15:32:20 +00:00
Jason Turner
39339d769a
Get the rest of the unit tests passing. Note: ChaiScript now requires CMake 2.8, which is almost a year old, so this is fair, but for the meantime we will have to either get it from backports in ubuntu or from cmake.org
2010-03-19 00:50:36 +00:00
Jason Turner
22d994009e
Add missing unit_test.inc file
2010-03-14 14:54:00 +00:00
Jason Turner
567f911093
Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation
2010-03-14 05:19:24 +00:00
Jason Turner
856b682e72
Testing of memberscope so we can close #91
2010-03-09 01:39:54 +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
Jonathan Turner
31fec2202c
Add the answer to the unittest I added earlier
2010-01-06 19:42:09 +00:00
Jonathan Turner
13178e55e1
Add unit test that dies after r465
2010-01-06 19:39:04 +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
a0c6366479
Added introspecition/classification of types
2009-11-21 06:39:35 +00:00
Jason Turner
15ffbd200a
Fixed unittests broken by last checkin
2009-11-21 06:39:11 +00:00
Jason Turner
07352a16a3
Operators unittests
2009-11-11 03:03:24 +00:00
Jason Turner
fe5a935abd
add is_undef functionality to boxed_value
2009-11-08 15:16:15 +00:00
Jonathan Turner
c88578d537
Add another unit test for operator overloading
2009-10-14 14:00:22 +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
Jonathan Turner
c51d14fb13
Add some missing unit tests for number formats and block starting
2009-10-14 12:25:21 +00:00
Jonathan Turner
12e909d9aa
Add bit shifting operators
2009-10-13 03:35:01 +00:00
Jason Turner
720eabcb16
Impliment range find functions and add unit test for contains and find.
2009-10-13 02:05:18 +00:00
Jason Turner
d3cdd6959d
Add unit tests for range lookups
2009-09-22 01:36:13 +00:00
Jonathan Turner
33897e2c0f
Add unit tests for multiline and inner outer loops
2009-09-21 17:31:10 +00:00
Jonathan Turner
9528e44b88
Add unit tests for multiline and inner outer loops
2009-09-21 17:30:55 +00:00
Jason Turner
593c6c68ee
Port "retro" to use the new built in object typing, add unit test for retro'ing a retro
2009-09-20 03:50:25 +00:00
Jason Turner
991753a492
Add support for cloning of dynamic objects
2009-09-19 23:12:56 +00:00
Jason Turner
7cdd772f2b
Add const correctness for proxy functions. Add unit tests for function variable assignment scenarios
2009-09-19 21:13:12 +00:00
Jonathan Turner
c5f837fd19
Added 'finally' to try/catch block
2009-09-19 18:12:22 +00:00
Jonathan Turner
7c244d25b5
Add support for chai objects by adding methods and attrs
2009-09-19 15:32:12 +00:00
Jonathan Turner
813fa055a3
Added guarded exception catches
2009-09-19 13:30:11 +00:00
Jason Turner
6a47846b84
Add runtime_error support, for throwing a normal std::exception. Also, move bootstrap for Dynamic_Object into its proper place.
2009-09-19 12:15:17 +00:00
Jonathan Turner
fedcd28ecc
Add exception unit test
2009-09-19 02:21:36 +00:00
Jason Turner
4bdbcf30ff
Move std::list<> support from main.cpp into a module, stl_extra.cpp, to better allow for measuring of core compile times / performance.
2009-09-15 01:30:51 +00:00
Jonathan Turner
63de0fd33c
Add a couple more in-string eval unit tests to check for proper escaping
2009-09-13 12:53:12 +00:00
Jonathan Turner
0fbb7c44bd
Add some unit tests for in-string eval
2009-09-12 14:55:14 +00:00
Jonathan Turner
f23f0edc70
Fix parser to handle shortform equations (fix bad operator parsing). Add back lines to prelude for line numbers
2009-09-09 14:11:03 +00:00
Jason Turner
7cc6a3cab9
Add support for loadable modules on POSIX systems
2009-09-06 23:33:03 +00:00
Jonathan Turner
b3656c95f5
Correcting unit tests that are inc/dec temporaries. This is no longer allowed
2009-09-06 02:50:36 +00:00
Jason Turner
c8c1c65e8c
Add std::list support
2009-08-29 14:00:07 +00:00
Jonathan Turner
c5e1d5fa20
Add ref equal unit test
2009-08-27 15:03:49 +00:00
Jonathan Turner
7e5b7cbd7a
Switch get_function to default to not doing object lookup. Correct method eval to maintain method lambda syntax. Add unit test for method lambda
2009-08-21 20:05:05 +00:00
Jonathan Turner
c539e0b458
Add unittest for 'use' feature
2009-08-21 18:26:34 +00:00
Jonathan Turner
8840f06053
Allow floating point numbers without a zero before the decimal point
2009-08-20 14:50:13 +00:00
Jonathan Turner
4127a6ed41
Added 'clear'. Added 'push_back' to string. Added char. Added simple reverse
2009-07-23 17:01:07 +00:00
Jonathan Turner
ac817ff33a
Change 'elseif' to 'else if' to better support C++ expectations
2009-07-17 14:16:27 +00:00
Jonathan Turner
fb286b91ea
Add unit tests for mmd and guarded mmd
2009-07-09 17:07:29 +00:00
Jonathan Turner
b8dec6c187
Add a unit test for bind
2009-07-09 03:37:57 +00:00
Jonathan Turner
6aaee43205
Add a couple of unit tests for insert_at and erase_at
2009-07-09 02:56:31 +00:00
Jonathan Turner
98edfc8dba
Code cleanup. Refactor chaiscript_eval to use functions instead of inline code
2009-07-08 22:01:40 +00:00
Jonathan Turner
a0448fa558
Missing unit test answer
2009-07-08 19:03:36 +00:00
Jonathan Turner
e7d63b1536
First set of unit tests
2009-07-08 18:59:10 +00:00