Jason Turner
a8ea5f151d
Extreme error reporting capabilities update and bug fixes
2012-06-25 06:31:34 -06:00
Jason Turner
6cda1140c4
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_eval.hpp
include/chaiscript/language/chaiscript_parser.hpp
2012-06-22 18:12:51 -06:00
Jason Turner
5a76d98692
Enhance and correct error messages
...
Backported from C++11 branch.
Conflicts:
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_eval.hpp
include/chaiscript/language/chaiscript_parser.hpp
2012-06-22 18:00:10 -06:00
Jason Turner
949f54b9c4
Use constexpr where possible in user_type() functions
...
- Task #52
- Gives some performance improvement
2012-06-22 14:19:52 -06:00
Jason Turner
f6e53dd42d
Correct some threading issues
...
- prototype avoiding a lock with __thread in g++
- pass -pthread and -lpthread when building to get threading actually working
2012-06-22 14:18:44 -06:00
Jason Turner
a951d2b0af
Fix crash discovered by the move to using stdlib for all tests.
2012-06-04 07:32:05 -06:00
Jason Turner
5a380abc68
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/dispatchkit.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
src/multithreaded.cpp
2012-06-03 09:27:05 -06:00
Jason Turner
d2aba2ef56
Eliminate boost::lexical_cast usage completely #39
2012-06-03 09:20:15 -06:00
Jason Turner
4ebfe264e9
Make stdlib
...
* Build the standard library as a module .so
* Locate and load lib at runtime as a module
if it is not provided to the ChaiScript
constructor.
Decreases compile time by 1/2 for common use cases
where the user can use the dynamic library module.
2012-06-03 08:11:37 -06:00
Jason Turner
a3e299fe1b
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_common.hpp
src/main.cpp
2012-06-03 06:04:24 -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
6c53e08e9b
Fix compiler warning in snow leopard
2012-06-01 15:07:53 -06:00
Jason Turner
66deef52c8
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap_stl.hpp
2012-06-01 13:46:58 -06:00
Jason Turner
a5f29e93f5
Eliminate all VC++10 64bit Warnings.
2012-06-01 12:21:14 -06:00
Jason Turner
8f7793a795
Merge branch 'master' into 2010-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/bad_boxed_cast.hpp
2012-06-01 08:50:15 -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
2969f61fe4
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/boxed_number.hpp
include/chaiscript/dispatchkit/dispatchkit.hpp
2012-05-28 11:42:55 -06:00
Jason Turner
7cbd494123
It seems boost dropped the BOOST_GCC define?
2012-05-28 11:35:53 -06:00
Jason Turner
ed15cc1730
Clean up a few warnings found in Windows.
2012-05-28 10:48:19 -06:00
Jason Turner
db8863c736
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2012-05-25 07:10:32 -06:00
Jason Turner
13a049cf54
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_engine.hpp
2012-05-24 19:33:48 -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
13ffc92bc3
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
CMakeLists.txt
include/chaiscript/dispatchkit/boxed_value.hpp
include/chaiscript/language/chaiscript_eval.hpp
2012-05-21 10:47:12 -06:00
Jason Turner
433905b33c
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2012-05-21 10:17:33 -06:00
Jason Turner
3a7eff1478
Move to a bit smarter stack based object management
...
- we store all function parameters until the f
outer function call exits
- this results in more values being stored longer than
they need to be, but the results are predictable
and no leaks
2012-05-21 10:16:16 -06:00
Jason Turner
ef46d1bf60
Remove Boxed_Value dependencies, they are not a solution
2012-05-21 08:18:33 -06:00
Jonathan Turner
e853e2e4ac
Merge branch 'master' into 2011-09-09-CxScript
2012-05-20 10:48:45 -07:00
Jonathan Turner
4aec12c68f
Allow operator exprs to span lines
2012-05-20 10:47:50 -07:00
Jonathan Turner
1bdedd3b45
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_common.hpp
2012-05-20 10:36:49 -07:00
Jonathan Turner
a818e7b185
Merge branch 'master' of github.com:ChaiScript/ChaiScript
2012-05-20 10:17:43 -07:00
Jonathan Turner
5aed00dd0b
Add ternary condition (?:) operator
2012-05-20 10:17:21 -07:00
Jason Turner
349425fe8a
Make vector inplace construction consistent with map
...
- Clone elements into both vector and map
- Be sure to drop dependencies after elements are cloned in
2012-05-20 07:04:22 -06:00
Jason Turner
ba9d13bf7b
Merge branch 'master' into 2011-09-09-CxScript
2012-05-19 18:05:58 -06:00
Jason Turner
56757973b6
Actually reenable function
2012-05-19 18:05:41 -06:00
Jason Turner
16bdfe4571
Merge branch 'master' into 2011-09-09-CxScript
2012-05-19 09:51:19 -06:00
Jason Turner
804de05a0a
Fix object_lifetime_test which was broken by last perfomance fix
2012-05-19 09:50:49 -06:00
Jason Turner
0fd4b828f2
Fix some minor issues found by clang's static analyzer
2012-05-19 09:16:21 -06:00
Jason Turner
62891b8537
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_engine.hpp
2012-05-19 07:33:16 -06:00
Jason Turner
ae02706c71
Approx 12% speedup for function call heavy profile.chai
2012-05-19 07:09:55 -06:00
Jason Turner
a0f7c46cc9
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_eval.hpp
2012-05-18 16:57:05 -06:00
Jason Turner
08c153abea
Clean up some additional exception handling with new stack handler
2012-05-18 16:37:39 -06:00
Jason Turner
897ad7007f
Get system introspection functions fully working
2012-05-18 16:25:13 -06:00
Jason Turner
13fb930676
First part of system introspection for objs and funcs added
2012-05-18 15:31:42 -06:00
Jason Turner
90125d0f9a
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
contrib/geshi/chaiscript.php
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_eval.hpp
include/chaiscript/language/chaiscript_parser.hpp
2012-05-18 09:05:46 -06:00
Jonathan Turner
cebd2c9763
Adding support for switch/case/default to 4.x
2012-05-17 13:56:10 -07:00
Jonathan Turner
025db4ce3a
Oops. Properly handle empty switch statements.
2012-05-17 13:20:15 -07:00
Jonathan Turner
4e14a57016
Add support for switch/case/default statements.
2012-05-17 12:43:25 -07:00
Jonathan Turner
37b8e6c3f9
Merge branch '2011-09-09-CxScript' of github.com:ChaiScript/ChaiScript into 2011-09-09-CxScript
2012-05-17 10:16:35 -07:00
Jonathan Turner
c73f16fdfe
Fixing 4.x grammar to be backward compatible.
...
Added 3.x unit tests back to show this.
2012-05-17 10:14:50 -07:00
Jason Turner
af1e02b0bb
Update copyrights to 2012 #23
2012-05-16 11:55:51 -06:00
Jason Turner
bca86c87e1
Update copyrights to 2012 #23
2012-05-16 11:54:46 -06:00
Jason Turner
a04dbf2c2d
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
unittests/object_lifetime_test.cpp
unittests/utility_test.cpp
2012-05-16 11:50:44 -06:00
Jason Turner
4bcaa75fa4
Throw eval exception if a variable or function is redefined #28
2012-05-16 11:40:43 -06:00
Jason Turner
8e24eef265
Tweaks to clang support and fix for clang/module support
2012-05-15 13:56:59 -06:00
Jason Turner
974c903d1c
Get compiling with broken clang++ / libc++ implementation
...
libc++ will not let you get a pointer to a string member
2012-05-15 13:25:13 -06:00
Jason Turner
9ec78752a0
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/boxed_number.hpp
samples/example.cpp
2012-05-14 18:20:36 -06:00
Jason Turner
437f6a03a9
Slight cleanup of the boxed_number cleanups from mgee
2012-05-14 18:09:55 -06:00
Jason Turner
48ecb3e2b4
Some performance improvements by using perfect argument forwarding
2012-05-14 17:45:30 -06:00
Markus Groß
59dfc847ae
Make Boxed_Number assignable from Boxed_Value.
2012-05-14 21:34:28 +02:00
Markus Groß
cdfefed385
Add default constructor for Boxed_Number
2012-05-14 20:13:39 +02:00
Jason Turner
98d2eadde2
Explicitly default the copy assignment operator for clang's benefit
2012-05-14 10:15:38 -06:00
Jason Turner
286b130f47
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
CMakeLists.txt
include/chaiscript/dispatchkit/boxed_number.hpp
include/chaiscript/language/chaiscript_engine.hpp
2012-05-14 10:08:04 -06:00
Jason Turner
b0b1549503
Fix cast for unsigned short #26
2012-05-14 09:33:35 -06:00
Jason Turner
927619bf47
Switch to using make_sharec
2012-05-14 08:56:33 -06:00
Jason Turner
3b95931973
Fixup some documentation
2012-01-30 11:53:12 -07:00
Jason Turner
13f98fa8ce
Move "use" function to be public
2012-01-30 11:26:46 -07:00
Jason Turner
ee4c9575ae
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
2012-01-30 09:10:55 -07:00
Jason Turner
b615d2a423
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2012-01-30 09:10:43 -07:00
Jason Turner
dc6998259e
Add missing chaiscript_stdlib.hpp file
2012-01-30 09:05:21 -07:00
Jason Turner
b0953fb466
Minor cleanup releated to attribute fix
2012-01-30 08:55:12 -07:00
Jason Turner
1186926f30
Fix duplicate object attribute name problem
2012-01-30 08:48:01 -07:00
Jason Turner
136b877afa
Reduce cost of including chaiscript.hpp
...
- ChaiScript no longer includes or automatically instantiates std lib
- ChaiScript constructor now requires an std lib instance in the form
of a ModulePtr object
- This new layout facilitates better usage of compilation firewalls and
factories for reducing the overall impact of ChaiScript on a project
2011-12-27 21:37:00 -07:00
Jonathan Turner
5a3975b7a4
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_parser.hpp
2011-10-01 10:24:48 -06:00
Jonathan Turner
bc75df4d58
Fixed parsing of block statements vs initializer expressions.
2011-10-01 10:19:45 -06:00
Jason Turner
b27aa50d6a
Minor cleanups in cv qualification removal
2011-09-26 07:51:32 -06:00
Jason Turner
488f2ea393
C++11 cleanups
2011-09-26 07:14:24 -06:00
Jason Turner
db0e342a96
Remove little used Param_List_Builder
2011-09-25 18:34:02 -06:00
Jason Turner
702b5fdba1
Enhance and correct error messages
2011-09-25 16:46:05 -06:00
Jason Turner
e1e0561c7e
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
2011-09-24 15:10:18 -06:00
Jason Turner
52d9e1e871
Remove := operator and fix & usage.
2011-09-24 15:06:31 -06:00
Jason Turner
a28dfd8695
Get & variable declarations working
2011-09-24 14:21:21 -06:00
Jonathan Turner
3765c23598
Switch lambda syntax over to [](){} format, to line up with C++11.
2011-09-24 13:31:24 -06:00
Jonathan Turner
784ca41270
Switch vectors and maps over to curly braces from square braces to line up with C++11.
2011-09-24 13:15:12 -06:00
Jason Turner
425ca59a34
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
2011-09-24 12:32:13 -06:00
Jason Turner
abfd37644e
Fix "any" for unknown types
2011-09-24 12:30:43 -06:00
Jonathan Turner
4a99471304
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
2011-09-24 12:26:17 -06:00
Jonathan Turner
e0d7977f8a
Adding reference parsing at a var decl.
2011-09-24 12:25:55 -06:00
Jason Turner
e3350fe55f
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
2011-09-24 11:55:36 -06:00
Jason Turner
2ca7a7d7da
Some C++11 cleaner usage updates
2011-09-24 11:54:40 -06:00
Jonathan Turner
ac4bb95dfb
Rename var->auto.
2011-09-24 11:50:17 -06:00
Jason Turner
535adce298
Remove exception specifications in favor of noexcept keyword
2011-09-21 12:22:52 -06:00
Jason Turner
d04960bc4a
Update for C++11 features
2011-09-21 10:01:21 -06:00
Jason Turner
12bd5b0af5
Boost eradicated from ChaiScript
2011-09-21 08:36:46 -06:00
Jason Turner
d6b475239a
Remove boost from utility and associated module tests
2011-09-21 00:04:15 -06:00
Jason Turner
6f1bffda3a
Remove boost from bind_first utility.
2011-09-15 17:38:46 -06:00
Jason Turner
64382a2399
One more file with boost_pp removed
2011-09-13 12:26:20 -06:00
Jason Turner
f996c0df37
One more file no longer using boost_pp
2011-09-13 09:40:10 -06:00
Jason Turner
d5e1650167
First file to eliminate need for boost_pp. 2 more to go
2011-09-12 23:08:27 -06:00
Jason Turner
6f282b6a56
Remove need for boost::function_types library
2011-09-12 08:18:51 -06:00
Jason Turner
194001f9a1
Remove boost::any requirement by providing our own implementation
2011-09-11 19:51:37 -06:00
Jason Turner
5efdcdff99
Remove need for boost::thread_local_ptr
2011-09-11 09:19:06 -06:00
Jason Turner
cd97880d70
Drop boost::optional requirement
2011-09-11 06:56:15 -06:00
Jason Turner
0a9cb0cbe9
Move to std::threading from boost::thread. Still need to sort out thread local storage
2011-09-10 14:58:59 -06:00
Jason Turner
99aaa079a4
Add missing include for stringstream
2011-09-10 14:58:19 -06:00
Jason Turner
f4080c4c75
Move from boost::mem_fn to std::mem_fn
2011-09-10 14:01:05 -06:00
Jason Turner
4522ff0732
Remove various other boost libraries
2011-09-10 13:49:29 -06:00
Jason Turner
b297162d13
Move from boost::type_traits to std::type_traits
2011-09-10 13:18:29 -06:00
Jason Turner
62cf6293e8
Move from boost::uint* to std::uint*
2011-09-10 12:26:31 -06:00
Jason Turner
6bb2678d18
GO from boost::int64_t to std::int64_t, etc.
2011-09-10 11:10:14 -06:00
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
2b64c90a0e
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
...
Conflicts:
CMakeLists.txt
Fixed conflicted CMakeLists.txt
2011-09-09 13:58:19 -06:00
Jason Turner
a386142fa6
Get chaiscript compiling with -pedantic. Closes issue #9
2011-09-09 13:40:50 -06:00
Sven-Hendrik Haase
2d23578e0b
Removing unused variables
2011-08-03 19:22:18 +02:00
Jason Turner
5ff14a54db
Commented out code removal
2011-06-16 10:42:26 -06:00
Jason Turner
bb0edcb62a
Add exception_specification and unittests for it. #6
2011-06-16 10:14:52 -06:00
Jonathan Turner
5426496b4f
Fix parsing of member access and function calls
2011-06-13 07:43:51 -07:00
Jason Turner
a549e41558
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2011-06-11 17:05:53 -06:00
Jason Turner
a82c892a4e
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2011-06-11 07:15:02 -06:00
Jason Turner
4d879afca7
Documentation updates
2011-06-10 16:38:20 -06:00
Jason Turner
b064bb61e9
Finish renaming and cleaning up of Boxed_Number type for dump_system() output
2011-06-10 10:12:09 -06:00
Jason Turner
c839e4bc21
Handle unnecessary MSVC compiler warnings.
2011-06-08 19:19:59 -06:00
Jason Turner
7a9baeb350
Rename of numeric to number
2011-06-08 13:53:55 -06:00
Jason Turner
1932cbfbbc
Eliminate duplicate code and reduce Boxed_Value copies necessary
2011-06-04 12:31:33 -06:00
Jonathan Turner
8fecf5c145
Merge branch 'master' of github.com:ChaiScript/ChaiScript
2011-06-04 11:02:07 -07:00
Jonathan Turner
6131a9c4c1
Moved common operators into their own AST nodes and removed the operator child.
2011-06-04 11:01:35 -07:00
Jason Turner
881d569d8e
Remove unnecessary loop from Binary_Operator
2011-06-04 10:34:15 -06:00
Jonathan Turner
6c18c197c6
Fixed operator parsing to return trees instead of flat representations. Fixed evaluator to not loop over equations.
2011-06-04 09:15:19 -07:00
Jason Turner
4053196188
Reduce creation of new Boxed_Value containers when returning the same value that was passed in
2011-06-04 04:26:06 +08:00
Jason Turner
5b40a85024
Add direct access to Boxed_Value data * for high performance operations
2011-06-04 04:26:00 +08:00
Jason Turner
36faba8ed3
Bypass dispatch during numeric operations. 2x speedup
2011-06-04 04:25:54 +08:00
Jason Turner
b933bb6c50
Begin move of Operators code out a level so that it can be used before dispatch
2011-06-04 04:25:42 +08:00
Jason Turner
92bfcfdcf3
Wrap up new Boxed_Numeric support
2011-06-04 04:25:36 +08:00
Jason Turner
3b754cfec4
Further simplification and refinement of enhanced Algebraic types support
2011-06-04 04:25:30 +08:00
Jason Turner
3689c01e4b
Significant reduction in templates instantiated by grouping of operators - smaller code and compile time
2011-06-04 04:25:24 +08:00
Jason Turner
4b90fbd07a
wrap up support for all built in C++ Arithmetic types
2011-06-04 04:25:18 +08:00
Jason Turner
1a225dca67
Progress towards eliminating arithmetic operators on a per-type basis
2011-06-04 04:25:12 +08:00
Jason Turner
226666c2bb
Rename Boxed_POD_Value to Boxed_Numeric, which is more correct.
2011-06-04 04:24:57 +08:00
Jason Turner
66b2adba5c
Final tweaks to release 3.0.0 docs
2011-05-23 07:07:27 -06:00
Jason Turner
02db23e9e2
Minor doc tweaks
2011-05-23 06:55:31 -06:00
Jason Turner
fbef83ecb7
Final documentation for release 3.0.0 completed
2011-05-22 23:29:55 -06:00
Jason Turner
88fbf41091
Getting started document updates
2011-05-22 21:43:58 -06:00
Jason Turner
897385953c
More documentation updates and additions to getting started guide
2011-05-22 12:08:24 -06:00
Jason Turner
319f9e4de9
Fix issues with trim() and with unit tests relying on certain line endings.
2011-05-20 16:01:50 -06:00
Jason Turner
2786156086
Finalize documentation for 3.0.0 release and update version number in CMakeLists.txt
2011-05-20 13:44:34 -06:00
Jason Turner
e5f9dbb93b
Fix failing unit tests related to recent renaming of function to Function
2011-04-26 10:17:24 -06:00
Jason Turner
61b8481514
Further documentation of the prelude / standard library.
2011-04-25 20:24:31 -06:00
Jason Turner
8a0ef143c9
C++ API documentation is complete. ChaiScript keyword and language documentation about 75% complete (mostly ported from website.)
2011-04-17 09:29:34 -06:00
Jason Turner
f1918f147d
More documentation updates.
2011-04-04 07:08:28 -06:00
Jason Turner
0d238b1617
Documentation updates and namespace reorg for docs.
2011-04-02 20:52:49 -06:00
Jason Turner
d22a77503c
Fix build errors and warnings for VS2010
2011-04-02 11:21:11 -06:00
Jason Turner
8dec35ba19
Merge branch '2011-03-15-DocumentationUpdates'
...
Conflicts:
include/chaiscript/language/chaiscript_engine.hpp
2011-03-29 20:24:17 -06:00
Jason Turner
a91c66d286
Couple of include guard cleanups
2011-03-29 09:28:35 -06:00
Jason Turner
8ecd3a084b
Add simple efficencies for static ids
2011-03-28 19:50:41 -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
de5822873b
Use RAII for scope management
...
Possibly fixes a few bugs where scope pops where missed.
2011-03-27 10:03:37 -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
87c29ebc91
Ensure that non-shared_ptr, non-boxed_value, non-reference return types
...
are treated as const.
2011-03-26 09:03:36 -06:00
Jason Turner
92c836c58a
Simplify mutex code by providing stubs that are do nothing during
...
CHAISCRIPT_NO_THREADS builds.
2011-03-25 22:49:17 -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
854737ea25
Fix compile time error for non-posix, non-win32 platforms.
2011-03-25 10:43:17 -06:00
Jason Turner
8bd512a0af
Merge branch '2011-03-15-DocumentationUpdates' of https://github.com/ChaiScript/ChaiScript into 2011-03-15-DocumentationUpdates
2011-03-24 09:28:11 -06:00
Jason Turner
deb4cb036f
Hide Bare_Type in detail namespace
2011-03-24 09:26:41 -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
9dd9ffec46
Update copyright information for 2011
2011-03-15 09:42:33 -06:00
Jason Turner
e3feb05e05
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2011-03-14 09:12:01 -06:00
Jason Turner
4e06478fb8
Amp up the warnings used in g++ and fix associated errors
2011-03-12 11:27:53 -07: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
d9a92a5148
Add std::exception as a base clase off std::runtime_error and provide unit test for it.
2011-03-09 21:41:32 -07:00
Jason Turner
f6b6936348
Normalize on include guard style, removing __ reserved words
2011-03-08 14:06:09 -07:00
Jason Turner
0b97fcb4df
Add better namespaces to make documentation easier to handle
2011-03-05 22:50:38 -07:00
Jason Turner
5cc4a758ab
Make scoping more explicit during initialization of alphabet
2011-02-21 19:25:22 -07:00
Jason Turner
7c2550ba74
Modify alphabet to m_alphabet to match rest of coding style
2011-02-21 19:17:36 -07: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
0a2b5d7a40
Find, test and fix an issue related to function argument type reporting when discussing dynamic object functions (ie, def int::somefunc() {} )
2010-12-24 22:26:14 +00:00
Jason Turner
660e978da3
Implement test for function ordering for dispatch. Catch bug for "const" characterization of function parameters. Add test for type characterizations.
2010-12-13 03:32:47 +00:00
Jason Turner
e90d49bb9d
Function ordering is working properly now, just need to add a unit test for it.
2010-12-11 22:38:08 +00:00
Jason Turner
13f53839c9
Check in of function ordering. Breaks function assignment test - need to understand why still.
2010-12-11 21:01:18 +00:00
Jason Turner
65edf30ef0
Fix regression in parsing of empty file. Visible in windows debug mode, but probably affects all platforms.
2010-11-15 22:45:57 +00:00
Jason Turner
7ef1b81504
Simplify how functions are stored and passed. This is the first step in allowing us to sort functions so that dispatches are attempted in an organized order (as opposed to just the order they were added in).
...
Should have resulted in a speed imrovement too - fewer string copies during dispatch.
2010-11-15 05:52:48 +00:00
Jason Turner
3aee589274
Remove unused variable
2010-11-15 00:01:33 +00:00
Jason Turner
97081b1f33
Remove vestiges of object caching from dispatch kit
2010-11-14 22:28:05 +00:00
Jason Turner
a758c86ba5
Add automatic unwrapping of Proxy_Function_Impl contained boost::function during functor() construction if possible.
...
Task #110
2010-11-14 01:17:56 +00:00
Jason Turner
5f661fad20
Get rid of a C++ conversion and make it a static_cast
2010-11-12 23:19:30 +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
e75a354a04
Apply some module and parameter variable naming standards. Remove ChaiScript template where it was no longer necessary.
2010-11-06 05:20:41 +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
e1e48d732f
Wrap up of clean up of warnings in 64bit visual studio
2010-11-05 04:05:02 +00:00
Jason Turner
6e18aa3dcd
Further VS 64bit warning fixes.
2010-11-05 02:43:52 +00:00
Jason Turner
6a18862c79
Fix some of the 64bit VS warnings.
2010-11-05 02:22:38 +00:00
Jason Turner
70cc1111f3
Regression - fix VisualStudio builds
2010-10-23 16:25:16 +00:00
Jason Turner
67bad374a9
Get mutlifile compilation working again and add a test for it
2010-10-22 21:30:58 +00:00
Jason Turner
bff5b8bce0
Add some quick comments
2010-10-14 14:36:32 +00:00
Jason Turner
2cdfac4e47
Add function meta data functions, plus related tests, and some various cleanups for how functions are constructed internally
2010-10-14 14:33:17 +00:00
Jason Turner
c1318eb8b4
Fix llvm (probably affecting gcc too, MSVC is too lax onthe use of "typename")
2010-10-08 18:42:59 +00:00
Jason Turner
3f87210dc5
Several tests and fixes related to type conversions added. Still more to go.
2010-10-08 15:18:58 +00:00
Jason Turner
c3da778103
Preliminary boxed_cast_test added. This test is meant to test all possible boxed_cast conversions that are available. Currently... some basic ones are failing.
2010-10-08 03:07:26 +00:00
Jonathan Turner
5a92146d28
Fix to disallow mixing inline map and array elements
2010-10-02 23:39:17 +00:00
Jason Turner
3ab91356e5
Make inline maps const. Add test for malformed inline map that causes crash
2010-10-02 22:50:09 +00:00
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
512d6b342d
Support for const ranges working
2010-10-02 21:56:33 +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
43dbd8ac78
Rip out object caching. With this removed it becomes that much more critical that we fix the scoping issue with references returned from temporaries.
2010-10-01 02:25:29 +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
1e867f5760
Fix broken gcc build introduced during vc2010 fixes
2010-09-30 16:34:27 +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
30affb8855
Correct assertion that was causing clang (and any other debug build) to fail tests
2010-09-20 12:47:25 +00:00
Jason Turner
22c2be835a
Get chaiscript compiling with LLVM/clang. Resulting code crashes, however.
2010-09-20 03:24:48 +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
Jason Turner
10986c159f
Add support for automatic conversion between chaiscript functions and boost::function. Might merit some look to see how much overhead this adds.
2010-09-13 14:24:12 +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
Jason Turner
3a904d9f74
Drastically reduce the number of exceptions thrown at runtime (cannot completely eliminate them all, it's the nature of doing what we are doing with making a runtime interface to a compiled system like we are).
...
profile.chai should see something like a reduction from 35,000 exceptions to about 100.
2010-08-07 19:27:15 +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
f215cae866
Add string.c_str() and string.data() methods.
2010-08-05 13:38:11 +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
f03189c168
Quiet down some irrelevant warnings in MSVC2008, make dynamic_cast conversions work in msvc across modules by applying a kludge that will probably not work long term, but does work now. This may mean that chaiscript needs to move to being a library?
2010-08-03 17:21:51 +00:00
Jason Turner
a122403c20
Fix problem with functor<>() not casting to the proper type and add unit test for this case
2010-08-03 15:19:20 +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
4358564065
Make sure the same base/derived relationship is never registered more than once
2010-08-02 18:18:39 +00:00
Jason Turner
a463ee5ff2
Clean up key used in the thread global object cache, to make sure proper type comparisons are done in the corner cases found in the main boxed_cast<> code a while back
2010-08-02 17:51:30 +00:00
Jason Turner
cd015a8437
Thread safety for dynamic conversions / registration of new inheritance relationship
2010-08-02 17:01:38 +00:00
Jason Turner
8be4aa08db
Reduce runtime calls into the new dynamic cast system by first making sure the type is polymorphic.
...
Cleanup some std::cout calls
2010-08-02 02:30:41 +00:00
Jason Turner
edee892cad
Initial check in of support for upcasting during function invocation. No examples or tests are checked in yet. Some reorg was necessary to get things compiling in the right order. Is not currently thread safe and probably does not work properly across module boundaries
2010-08-02 01:38:25 +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
b9ae4cd528
Make warnings more strict and fix one warning caught by gcc
2010-07-30 16:25:58 +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
f7086c10ec
Roll back changes from last 2 checkins - user defined type conversions are going to be too slow and too hard to keep track of. Need more portable / generic approach to solving the actual problem - the ability to deal with inhertance properly
2010-07-23 14:55:32 +00:00
Jason Turner
3d19138c95
Minor reorg of type conversion code to support move to using it in dispatch
2010-07-18 01:52:07 +00:00