Jason Turner
6eab8ddfe1
Apply changes applied from clang-modernize
...
Needed 1-2 cleanups by hand. 99% was automatic.
* The version that ships with ubuntu 14.04 seems to not work.
I had to build from scratch
* Use cmake to generate the build commands that clang-modernize wants
```sh
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS:bool=true ../ChaiScript/
```
* Use the clang-modernize tool. Note that you have to be pretty explicit
about the include paths if you want it to also update your include
files
```sh
../llvm-build/bin/clang-modernize ../ChaiScript/src/*.cpp -for-compilers=gcc-4.8 -include /home/jason/ChaiScript/include,/hjason/ChaiScript/include/chaiscript,/home/jason/ChaiScript/include/chaiscript/dispatchkit,/home/jason/ChaiScript/include/chaiscript/language -p compile_commands.json
```
* In my case, it left some unused `typedef`s behind, which I cleaned up.
2014-05-10 08:25:38 -06:00
Jason Turner
b87c37032b
Add version numbers that can be queried at runtime
2014-05-04 10:14:42 -06:00
Jason Turner
926e962fc0
Merge remote-tracking branch 'origin/release-4.x'
...
Conflicts:
.travis.yml
CMakeLists.txt
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/boxed_cast.hpp
include/chaiscript/dispatchkit/dynamic_cast_conversion.hpp
include/chaiscript/dispatchkit/function_call_detail.hpp
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/language/chaiscript_common.hpp
2014-03-29 07:30:14 -06:00
Jason Turner
65b0846e41
Address some of the issues found by cppcheck
2014-03-26 16:59:41 -06:00
Jason Turner
bf0737a35c
Cleanup search for chaiscript_stdlib and fix some bugs
2014-03-23 16:42:04 -06:00
Jason Turner
52bb08f4d5
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap_stl.hpp
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_prelude.hpp
2014-02-17 16:31:16 -07:00
Jason Turner
71348b7967
Update copyrights to 2014 and some comment formatting
2014-02-17 16:24:29 -07:00
Jason Turner
5cb78ecd68
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap_stl.hpp
include/chaiscript/dispatchkit/boxed_number.hpp
2013-11-27 09:18:08 -07:00
Jason Turner
a26d628e5c
Cleanup (indentation, comments) for non-const global support
...
@Zoomulator - I pulled in your non-const global commits.
2013-11-27 08:19:26 -07:00
Jason Turner
d5fef3121a
Merge remote-tracking branch 'zoomulator/master'
...
Adding zoomulator's patches for allowing of non-const globals if the user
wants to.
2013-11-27 08:06:39 -07:00
Jason Turner
510d550d64
Fix static analysis issue
2013-11-02 08:18:09 -06:00
Jason Turner
73b3762f7a
Get ChaiScript ported to MSVC 2013. See Notes in code.
2013-11-02 07:42:06 -06:00
Jason Turner
1708024372
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/chaiscript_threading.hpp
include/chaiscript/dispatchkit/boxed_value.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
samples/example.cpp
src/test_module.cpp
unittests/multithreaded_test.cpp
2013-05-27 08:48:59 -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
47e44d2f9e
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/boxed_cast.hpp
include/chaiscript/dispatchkit/boxed_cast_helper.hpp
include/chaiscript/dispatchkit/dynamic_cast_conversion.hpp
include/chaiscript/dispatchkit/dynamic_object.hpp
include/chaiscript/dispatchkit/exception_specification.hpp
include/chaiscript/dispatchkit/function_call.hpp
include/chaiscript/dispatchkit/function_call_detail.hpp
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_eval.hpp
2013-02-25 12:08:32 -07:00
Jason Turner
2afc09dad4
Eradicate global base_class registrations to prevent problems with threading and general memory management issues with knowing how and when to clean them up.
2013-02-25 11:00:14 -07:00
Kim Simmons
abcc6c9e3e
Chai::add_global was added
...
Just a modification of the add_global_const. I don't see the point in
limiting the user to binding only constants to the global scope if the user
wishes to have a thread safe mutable object as a global. This was my case
anyway.
2012-11-06 17:20:56 +01:00
Jason Turner
8cb49e9494
Merge branch 'master' into 2011-09-09-CxScript
2012-07-16 22:12:29 -06:00
Jason Turner
1155720b14
Add the ability to save and restore the state of local variables #25
2012-07-16 21:27:42 -06:00
Jason Turner
4e33e969dc
Minor header file include cleanup
2012-07-10 13:27:47 -06:00
Jason Turner
a6924bcc9e
Use C++11 Raw Strings for chaiscript prelude
2012-06-28 21:24:51 -06:00
Jason Turner
d3b8daeff0
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
CMakeLists.txt
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_eval.hpp
2012-06-25 15:40:19 -06:00
Jason Turner
39d817469c
Optionally allow the user to specify the file name to report to end users when calling "eval"
2012-06-25 08:05:58 -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
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
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
13fb930676
First part of system introspection for objs and funcs added
2012-05-18 15:31:42 -06: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
8e24eef265
Tweaks to clang support and fix for clang/module support
2012-05-15 13:56:59 -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
13f98fa8ce
Move "use" function to be public
2012-01-30 11:26:46 -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
Jason Turner
52d9e1e871
Remove := operator and fix & usage.
2011-09-24 15:06:31 -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
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
12bd5b0af5
Boost eradicated from ChaiScript
2011-09-21 08:36:46 -06:00
Jason Turner
194001f9a1
Remove boost::any requirement by providing our own implementation
2011-09-11 19:51:37 -06:00
Jason Turner
aa402fdfde
swap boost::reference_wrapper for std::reference_wrapper
2011-09-10 10:52:59 -06:00
Jason Turner
afa96ecbf9
Begin port to C++11
2011-09-10 06:55:27 -06:00
Jason Turner
a386142fa6
Get chaiscript compiling with -pedantic. Closes issue #9
2011-09-09 13:40:50 -06:00
Jason Turner
bb0edcb62a
Add exception_specification and unittests for it. #6
2011-06-16 10:14:52 -06:00
Jason Turner
897385953c
More documentation updates and additions to getting started guide
2011-05-22 12:08:24 -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
0d238b1617
Documentation updates and namespace reorg for docs.
2011-04-02 20:52:49 -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
bbe89e61bc
elimination of unused / outdated code and documentation cleanups.
2011-03-26 22:42:11 -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
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
0b97fcb4df
Add better namespaces to make documentation easier to handle
2011-03-05 22:50:38 -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
Jason Turner
80f576a2f3
Reflection and introspection updates for task #85
2010-12-29 17:58:56 +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
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
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
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
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
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
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
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
fbf8f53e04
Add Type_Info type and add *_type objects at time of type registration.
2009-11-21 22:47:44 +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
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
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
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
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
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
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
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