Jason Turner
aa402fdfde
swap boost::reference_wrapper for std::reference_wrapper
2011-09-10 10:52:59 -06:00
Jason Turner
53108463df
Move from boost::bind to std::bind
2011-09-10 10:19:55 -06:00
Jason Turner
c842bf14c1
Move from boost::function to std::function
2011-09-10 09:37:40 -06:00
Jason Turner
e2da56f199
Eliminate use of boost::shared_ptr
2011-09-10 07:24:46 -06:00
Jason Turner
afa96ecbf9
Begin port to C++11
2011-09-10 06:55:27 -06:00
Jason Turner
d9727973c1
Add files missing from last checkin
2011-09-09 17:08:51 -06:00
Jason Turner
e326fe6f2d
Add test for constructing from a pointer return value and fix test so it works. Task #13
2011-09-09 14:38:55 -06:00
Jason Turner
a386142fa6
Get chaiscript compiling with -pedantic. Closes issue #9
2011-09-09 13:40:50 -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
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
Jason Turner
b185e2e792
Make Type_Info internal data private and provide more rigorous definitions for comparisions of objects
2009-09-08 13:31:14 +00:00
Jonathan Turner
48e96b2f3b
Add readline support to eval.
2009-09-07 20:52:31 +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
Jason Turner
7cc6a3cab9
Add support for loadable modules on POSIX systems
2009-09-06 23:33:03 +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
6c4872eae9
Initial check in of multithreaded support for chaiscript
2009-08-31 19:50:41 +00:00
Jason Turner
c8c1c65e8c
Add std::list support
2009-08-29 14:00:07 +00:00
Jason Turner
a136236179
Fix dispatch for const boost::shared_ptr<> & parameters for functions, add a test to example.cpp and fix some issues with building example.cpp
2009-08-20 21:35:56 +00:00
Jason Turner
669d6e9495
Cleanup comment in example.cpp
2009-07-25 13:48:44 +00:00
Jonathan Turner
9f614bba33
Update ticks in example to proper quotes
2009-07-24 13:31:15 +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
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
5a5b2929b0
Add additional functor example
2009-07-18 23:41:01 +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
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
2d0b8e85b6
Move test files to contrib/test and added one liner to readme
2009-07-13 13:18:26 +00:00
Jonathan Turner
5ec3901396
Some minor source header touchups
2009-07-13 03:13:04 +00:00
Jason Turner
7f71c77e56
Add documented example usage for C++ api. To be used for website documentation purposes as well
2009-07-12 17:05:24 +00:00
Jonathan Turner
7da81c8c11
Put eval init in constructor
2009-07-10 15:45:48 +00:00
Jonathan Turner
008329f36d
Move dispatchkit unittest out of include
2009-07-10 15:26:35 +00:00
Jonathan Turner
5c79c7cec0
Move dispatchkit test out of include
2009-07-10 15:25:14 +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