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 |
|
Jonathan Turner
|
12e909d9aa
|
Add bit shifting operators
|
2009-10-13 03:35:01 +00:00 |
|
Jason Turner
|
b1e892487f
|
Enhance "is_type" to be more accurate and to work with Dynamic_Object types
|
2009-10-13 03:31:56 +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
|
1fde71f3f4
|
Add type generic comparison operations "eq", "gt", and "lt" and port the "contains" operation to use it
|
2009-10-13 00:18:59 +00:00 |
|
Jonathan Turner
|
90f8b77171
|
Added .contains() to ranges
|
2009-10-11 20:02:21 +00:00 |
|
Jonathan Turner
|
315d7521a7
|
Clean up warnings. Add simple blocks.
|
2009-10-08 03:01:19 +00:00 |
|
Jonathan Turner
|
ff177b5eaf
|
Add octal support
|
2009-10-06 21:17:23 +00:00 |
|
Jonathan Turner
|
46fd7e9a58
|
Add hex value parsing support
|
2009-10-06 16:04:05 +00:00 |
|
Jason Turner
|
edd274ccce
|
Fix some more obscure warnings
|
2009-10-06 02:26:47 +00:00 |
|
Jonathan Turner
|
a5b2ec3006
|
Start code cleanups by moving chaiscript common structures into their own file.
|
2009-09-23 05:00:14 +00:00 |
|
Jason Turner
|
3bdd79a3fd
|
Correct Windows unicode build issues.
|
2009-09-22 23:03:16 +00:00 |
|
Jason Turner
|
b04e01cda7
|
Ensure that __EVAL__ is in the list of loaded files and be smarter about accessing it
|
2009-09-22 21:06:02 +00:00 |
|
Jason Turner
|
bad5384c96
|
Fix multi-file compilation issues
|
2009-09-22 20:59:10 +00:00 |
|
Jason Turner
|
443902f787
|
Reduce overhead necessary for internal_eval. Desirable due to the use of "eval" during cloning operations
|
2009-09-22 01:58:16 +00:00 |
|
Jason Turner
|
9762e15460
|
Fix some range/retro issues and update the visual studio files
|
2009-09-22 01:23:02 +00:00 |
|
Jonathan Turner
|
03746e7606
|
Add keywords for NaN and Infinity
|
2009-09-21 16:50:30 +00:00 |
|
Jason Turner
|
50eace16da
|
Allow "Module" to contain chaiscript snippets to be executed when a module is initialized. Update dynamic_object to use the new feature to clean up some of the _prelude.hpp
|
2009-09-21 03:07:01 +00:00 |
|
Jason Turner
|
8241e46680
|
Further refine how clone calls are dynamically generated, to avoid accidentally matching when we should not
|
2009-09-20 21:49:53 +00:00 |
|
Jason Turner
|
160f64e9c2
|
Enabled short hand for adding new methods to existing C++ types
|
2009-09-20 21:32:39 +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
|
18fc4d419f
|
Fix to catch block handling that would have lost the scope of the boost::ref of the exception
|
2009-09-19 13:40:48 +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 |
|
Jason Turner
|
b0041217b0
|
initial checkin of dynamic object support with example usage in example.cpp
|
2009-09-19 02:36:27 +00:00 |
|
Jonathan Turner
|
b17c6b9748
|
Add support for std::exception and what()
|
2009-09-18 22:26:07 +00:00 |
|
Jonathan Turner
|
204d379176
|
Fix default cmake build to use readline and gdb. Add simple try/catch/throw exceptions
|
2009-09-18 22:04:07 +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
|
5092713876
|
Add in-string eval
|
2009-09-12 14:52:46 +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
|
daee00da95
|
Minor performance enhancement for caching function and cleanup of minor windows warning in same function.
|
2009-09-09 13:17:20 +00:00 |
|
Jason Turner
|
e2cdac0406
|
Decrease compilation time by removing "Retro" from c++ compiled and making a chaiscript version instead
|
2009-09-09 03:11:47 +00:00 |
|
Jonathan Turner
|
1bf3b1ed37
|
Couple changes for module loading in mingw
|
2009-09-08 21:22:37 +00:00 |
|
Jason Turner
|
f7b530ebae
|
Quick fix to (hopefully) module support on mingw
|
2009-09-08 19:21:11 +00:00 |
|
Jonathan Turner
|
cfee4c6bc1
|
Bugfix: cached the wrong boolean value. Fixed.
|
2009-09-08 02:15:41 +00:00 |
|
Jason Turner
|
798908f127
|
Add loadable module support for ms Visual C++ and fix visual studio specific type identification problems, (while making the C++ more correct)
|
2009-09-07 17:05:57 +00:00 |
|
Jonathan Turner
|
7e3127549f
|
Added simple const value caching. Fix CMake to default back to debug mode
|
2009-09-07 15:48:32 +00:00 |
|
Jason Turner
|
7cc6a3cab9
|
Add support for loadable modules on POSIX systems
|
2009-09-06 23:33:03 +00:00 |
|
Jonathan Turner
|
cba5731576
|
Fixing the last of the const change issues
|
2009-09-06 02:55:39 +00:00 |
|
Jonathan Turner
|
e9539dfee2
|
BROKEN./run_unit_tests.sh ! This is to help repair unit tests broken in move to consts. Should be fixed shortly.
|
2009-09-06 02:24:46 +00:00 |
|
Jason Turner
|
3094ff6e3b
|
Made thread saftey a compilation option for performance and dependencies reasons
|
2009-09-05 00:16:46 +00:00 |
|
Jason Turner
|
4d42d6ff33
|
Add shared objects that can be used by all threads at their root scope only
|
2009-09-03 11:42:23 +00:00 |
|
Jason Turner
|
efb7a8d453
|
Create local thread caches of registered function objects to reduce thread contention
|
2009-09-02 02:28:38 +00:00 |
|
Jason Turner
|
6c4872eae9
|
Initial check in of multithreaded support for chaiscript
|
2009-08-31 19:50:41 +00:00 |
|
Jason Turner
|
ff639a267d
|
Shave a few cycles off by reducing copies and assignments of objects in eval
|
2009-08-30 02:24:11 +00:00 |
|
Jason Turner
|
096c8aab50
|
Provide for caching of objects in the dispatch get get_object side. Also, update chaiscript_eval to not explicitly add a new stack object to each scope as it is created
|
2009-08-30 00:48:17 +00:00 |
|
Jason Turner
|
89186a86c8
|
speed up operator calls by about 10% by reducing Proxy_Function copies and such
|
2009-08-29 19:19:31 +00:00 |
|
Jason Turner
|
c8c1c65e8c
|
Add std::list support
|
2009-08-29 14:00:07 +00:00 |
|
Jonathan Turner
|
91011695f0
|
Allow simple multiline commands in arg list and container arg list
|
2009-08-26 20:34:32 +00:00 |
|
Jason Turner
|
3a951cea99
|
Extend the reserved object name registration to include some missing values such as break and return and such
|
2009-08-26 02:21:41 +00:00 |
|
Jonathan Turner
|
8620f4eaf9
|
Fix for issue 23, makes for and while loops live in their own deeper scope
|
2009-08-26 02:02:41 +00:00 |
|
Jonathan Turner
|
59ecf32f9b
|
Add Eval_Error end extents and reserved word errors
|
2009-08-25 01:10:28 +00:00 |
|
Jason Turner
|
541e453098
|
check in of reserved word handling
|
2009-08-25 00:36:02 +00:00 |
|
Jason Turner
|
0b780593a6
|
Make for better error messages when a clone fails
|
2009-08-22 13:55:06 +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 |
|
Jason Turner
|
1f011f3d5b
|
Add "use" function for loading chai files from inside of ChaiScript and fix potential memory bug with filename const char * pointers being passed around
|
2009-08-21 03:33:57 +00:00 |
|
Jonathan Turner
|
8840f06053
|
Allow floating point numbers without a zero before the decimal point
|
2009-08-20 14:50:13 +00:00 |
|
Jason Turner
|
ba6b392174
|
Approximate 20% reduction in runtime on long running scripts, based on profiling data. Reduce number of execution of object cache culling, reduction of copies of the stack and reduction of Boxed_Value copies
|
2009-08-05 02:43:13 +00:00 |
|
Jason Turner
|
0b789004e9
|
Make "clone" a chaiscript based operation instead of forcing the user to register a clone method.
|
2009-07-24 13:17:00 +00:00 |
|
Jason Turner
|
0d3c90a245
|
Add "type_name" function and port the "new" in prelude to use it instead of clone/clear.
|
2009-07-24 04:01:28 +00:00 |
|
Jonathan Turner
|
2f591a25a6
|
Add ltrim, rtrim, and trim
|
2009-07-23 17:35:39 +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 |
|
Jason Turner
|
370121a9ff
|
add example.cpp to build for VC++, fix minor bug in passing of & parameters to functor<>, move bootstrap functions into bootstrap namespace and clean up function names and add "retro" support for reversing of ranges.
|
2009-07-23 04:35:15 +00:00 |
|
Jonathan Turner
|
72b6647718
|
Add missing return value
|
2009-07-20 19:53:31 +00:00 |
|
Jason Turner
|
a5a1e3ee1b
|
Revamped method for bootstrapping of types, using a new Module class that collects everything related to a type or group of types
|
2009-07-19 03:04:46 +00:00 |
|
Jason Turner
|
82bd46bb1a
|
More usage cleansups
|
2009-07-18 23:34:08 +00:00 |
|
Jason Turner
|
4d4c26bf73
|
Major updates to the C++ API. Please see trunk/src/example.cpp to follow along
|
2009-07-18 18:05:54 +00:00 |
|
Jonathan Turner
|
ac817ff33a
|
Change 'elseif' to 'else if' to better support C++ expectations
|
2009-07-17 14:16:27 +00:00 |
|
Jason Turner
|
689143aba5
|
Fix broken push_back in prelude, to correct for unit tests.
|
2009-07-16 23:53:13 +00:00 |
|
Jonathan Turner
|
3fc5f8e8e1
|
Guard push_back to ensure we have the push_back_ref before we call it
|
2009-07-16 20:32:33 +00:00 |
|
Jonathan Turner
|
aed493322b
|
Clean up exception story so that there is only one exception type and one thing the user needs to catch
|
2009-07-16 13:24:15 +00:00 |
|
Jonathan Turner
|
7c7e437b10
|
Clean up unnecessary Boxed_Value copies in eval
|
2009-07-15 14:40:53 +00:00 |
|
Jonathan Turner
|
599a21d377
|
Small bugfix to float parser
|
2009-07-13 13:48:06 +00:00 |
|
Jonathan Turner
|
5ec3901396
|
Some minor source header touchups
|
2009-07-13 03:13:04 +00:00 |
|
Jason Turner
|
a70dc12b2a
|
Documentation updates.
|
2009-07-12 03:07:45 +00:00 |
|
Jason Turner
|
c9e67f2063
|
use relative include paths to make moving files around/portability easier potentially.
|
2009-07-11 13:00:43 +00:00 |
|
Jonathan Turner
|
7da81c8c11
|
Put eval init in constructor
|
2009-07-10 15:45:48 +00:00 |
|
Jonathan Turner
|
ac2b59796f
|
Moving internal includes to point to the new dir structure
|
2009-07-10 15:24:24 +00:00 |
|
Jonathan Turner
|
4a5c86f07f
|
Moving files into new locations
|
2009-07-10 15:10:21 +00:00 |
|