94 Commits

Author SHA1 Message Date
Jason Turner
56b036052f Add test for automatic casting down in inheritance 2014-03-26 09:14:06 -06:00
Jason Turner
af44da916a Fix warnings and errors on VisualStudio 2013
Interestingly, VS2013 with Boost 1.55 exhibited the issues complained
about in issue #92, so I was able to provide an appropriate fix. It would
appear to be bugs in both compilers, which seems very odd.
2014-02-22 16:09:34 -07:00
Jason Turner
9c35ede59a Merge branch 'master' of https://github.com/ChaiScript/ChaiScript 2014-02-18 13:02:28 -07:00
Jason Turner
71348b7967 Update copyrights to 2014 and some comment formatting 2014-02-17 16:24:29 -07:00
Jason Turner
eb1a1c0275 Port windows unicode fix from @da2ce7 to 4.x branch 2014-01-23 12:28:33 -07:00
Jason Turner
8724e0cb80 Fix build error on 4.x branch if readline is found 2014-01-23 12:17:06 -07:00
Jason Turner
b872a50acc Add module search path relative to current exe #94 2014-01-05 14:59:31 -07:00
Jason Turner
d44de49fb1 Add explicit tests for accessing data members of const objects 2013-09-27 20:19:16 -06:00
Jason Turner
101225aa68 - Fix legit threading issue which shows itself on clang / macos mostly
- Fix all warnings that I can / ignore those caused by boost
2013-05-26 22:47:23 -06:00
Jason Turner
1858885010 Add example of wrapping data members of a class #79 2013-02-24 15:11:06 -07:00
Jason Turner
9f309fcbe9 Add tests for multithreaded features #55 2012-07-10 15:10:09 -06:00
Jason Turner
a8ea5f151d Extreme error reporting capabilities update and bug fixes 2012-06-25 06:31:34 -06:00
Jason Turner
d2aba2ef56 Eliminate boost::lexical_cast usage completely #39 2012-06-03 09:20:15 -06:00
Jason Turner
832df7f9e8 Remove offending boost code which causes warnings in some cases #39 2012-06-02 17:45:10 -06:00
Jason Turner
7f253bd6c1 Catch a few things found with more aggressive g++ warnings 2012-06-01 08:47:40 -06:00
Jason Turner
4233d21e5b Correct scope of operator calls
- Enhance reflection module to indicate inheritance
  - Add ability to catch errors thrown from a eval
    inside of a script
2012-05-24 19:25:29 -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