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
Jason Turner
bbe89e61bc
elimination of unused / outdated code and documentation cleanups.
2011-03-26 22:42:11 -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
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
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
0b97fcb4df
Add better namespaces to make documentation easier to handle
2011-03-05 22:50:38 -07:00
Jason Turner
41d7842963
Move from hand rolled trim function to boost::trim function
2011-02-21 19:02:30 -07:00
Jason Turner
13b35f2f47
Better localize MSVC specific code. Remove deprecated / gratuitous use
...
of "static". Clean up code for readability and effeciencies in C++.
2011-02-21 18:56:04 -07:00
clanmills
18c6ed71f0
Add code to compile _strdup on non-Microsoft platforms (builds on Windows with DevStudio and Cygwin).
2011-02-16 23:24:51 -08:00
clanmills
7ac22c7072
Tweaking the --help output
2011-02-16 11:00:18 -08:00
Robin Mills
c9c4f1add7
Tweak to --stdin line end handling.
2011-02-16 10:13:12 -08: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
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
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
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
4b9d2d130f
Add comment about clang work around
2010-09-20 12:57:33 +00:00
Jason Turner
22c2be835a
Get chaiscript compiling with LLVM/clang. Resulting code crashes, however.
2010-09-20 03:24:48 +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
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
7ef12f634d
Register AST_Node and Parser, overloaded eval for AST_Node and some const correctness fixes
2010-08-28 21:48:30 +00:00
Jason Turner
71de169e09
Stub out the reflection module
2010-08-28 18:29:38 +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
Jason Turner
ea93903884
Fix build problem that was causing chaiscript_no_threads to still link with boost_thread
2010-08-04 19:17:33 +00:00
Jason Turner
f4e4f92dae
Move type registration into module code, and fix problems with unloading of modules and type conversions registered inside of a module.
...
We have to allow the same type registration more than once now, just in case several different modules register the same conversion.
2010-08-03 01:17:38 +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
f5f99961c1
Make sure that stack is properly initialized on a per-thread basis. Fixes #95wq
2010-07-23 20:00:17 +00:00
Jason Turner
799b3ef388
Update copyright for 2010
2010-05-15 22:48:54 +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
7efb65a5c2
Move to using cmake for VisualStudio
2010-03-28 13:31:19 +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
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
5c98a5d6e7
Add sync_cache to set_state code to fix logic flaw in resetting of state and memory leak. #92
2010-03-09 02:09:05 +00:00
Jason Turner
39a2c39d90
Minor fixes to example.cpp to avoid exceptions
2009-12-30 15:29:36 +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
Jason Turner
cbc61d898c
Add "is_null" for boxed_values to see if they contain a null shared_ptr value
2009-11-08 16:30:12 +00:00
Jason Turner
9871604a48
Make sure example.cpp compilable with new setup
2009-10-15 15:55:16 +00:00
Jason Turner
24e717d532
Fix "bind_first" for non member functions
2009-10-14 22:42:45 +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
Jason Turner
3bdd79a3fd
Correct Windows unicode build issues.
2009-09-22 23:03:16 +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
99b5f46a9e
Fix type in help.
2009-09-15 20:32:16 +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
Jason Turner
f369afed77
Decrease compile times by 30% and runtimes by 10% by eliminating use of boost::bind during function dispatch
2009-09-10 03:44:42 +00:00
Jason Turner
cc44ec99ba
Fix reversed logic in printing output during eval
2009-09-08 23:39:34 +00:00