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 |
|
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 |
|