Jason Turner
15196af5d6
Remove one case of UB union work
2017-10-02 09:52:51 -06:00
Jason Turner
c6237cc528
Add += char for string type
2017-09-21 08:55:32 -06:00
Mario Lang
3e521d2952
Delete now useless local copy
2017-09-18 17:00:04 +02:00
Mario Lang
0fa0def112
Use range-based for
2017-09-18 15:00:52 +02:00
Mario Lang
ee3f828b8c
Allow bootstrapping hpx::lcos::future
...
Which has an overloaded get(error_code &). Use a lambda in
standard_library::future_type to disambiguate.
2017-09-15 10:12:47 +02:00
Stephen Berry
ff78d31583
Simplified namespace handling code and requiring all namespace registration to allow for delayed generation. This simplifies generating namespaces by the user and leads to more efficient code.
2017-09-05 13:26:55 -05:00
Stephen Berry
a9fc1d492e
Merge branch 'develop' of https://github.com/ChaiScript/ChaiScript into develop
2017-09-05 12:13:29 -05:00
Stephen Berry
3f299333cc
Switched to recursive mutex
...
Removed namespaces_nested_ref.chai
2017-09-05 12:02:11 -05:00
Jason Turner
f465d2ceca
Make sure to not deref null parse node
2017-07-20 06:10:31 -06:00
Jason Turner
14eaefdceb
Make front() back() checked
2017-07-19 15:52:34 -06:00
Jason Turner
f03659c865
More careful testing of 'for' parses
2017-07-19 13:19:36 -06:00
Jason Turner
b42316a275
More careful with json errors
2017-07-19 13:19:17 -06:00
Jason Turner
d8da295e40
Check string accesses during JSON parsing
2017-07-19 10:47:17 -06:00
Jason Turner
cfb2e663d3
Fix unhandled exception found via libfuzzer
2017-07-19 10:09:44 -06:00
Jason Turner
ea03a5462f
Wrap up build issues for dropping of shared_ptr
2017-07-18 16:58:09 -06:00
Mike Bogdanov
0c31d81711
fixed PVS-Studio warnings V728
2017-07-13 12:41:23 +03:00
Jason Turner
77315ae4b9
Fix non-shared_ptr tree code
2017-06-22 09:32:49 -06:00
Jason Turner
5a5600914c
Move away from shared_ptr for parse nodes
2017-06-21 21:27:48 -06:00
Jason Turner
36e61dec0a
Fix defaults for dynload options
2017-06-06 14:59:05 -06:00
Jason Turner
bdd0a12bb7
ChaiScript can only support static in non-threading mode
2017-05-31 14:18:30 -06:00
Jason Turner
3b48983bc2
Revert "Add workaround for chaiscript used as static"
...
This reverts commit a281d9571e00788784a10bdae054f92cb3e3fb1a.
2017-05-31 13:54:45 -06:00
Jason Turner
bd736eddec
Deprecate GLOBAL #247
2017-05-30 11:33:12 -06:00
Jason Turner
9f8b57c145
Enable ChaiScript compilation for C++17
...
Closes #348
This works by taking into account the fact that `noexcept` is now part
of the type system in C++17. However, this would conflict with pre-C++17
compilers, so I have added a feature macro around it
2017-05-30 09:16:20 -06:00
Jason Turner
a999ea3692
Fix handling of const return types #430
2017-05-30 08:38:47 -06:00
Jason Turner
0f9d9cae4a
Merge pull request #332 from ftk/develop
...
Ability to disable module loading support at compile time
2017-03-21 12:55:30 -07:00
Jason Turner
468d65a661
Merge pull request #336 from totalgee/from_json_fix
...
Handle negative numbers in JSONParse::parse_number
2017-03-21 12:21:26 -07:00
Jason Turner
9847618cf3
Fix use after move during parsing
...
closes #337
2017-03-21 12:17:30 -07:00
Jason Turner
a281d9571e
Add workaround for chaiscript used as static
...
closes #338
2017-03-21 11:58:33 -07:00
Jason Turner
be2fec02d9
Simplify usage of Thread_Specific object
2017-03-21 10:44:53 -07:00
Glen Fraser
491b95099d
In JSONParser::parse_number(), only allow a single '-' at start
...
- also, don't allow multiple '.' decimal points. Add unit tests to
cover these cases.
2017-03-14 13:01:09 +01:00
Glen Fraser
561c5bc981
Handle negative numbers in JSONParse::parse_number
...
- fix issue #334 , where negative numbers loaded from JSON were being
parsed as 0.
- add unit tests to cover these cases.
2017-03-14 12:01:51 +01:00
ftk
60c43233c6
More clear error message in load_module
2017-03-05 21:55:01 +03:00
ftk
c2f7ca3aa2
Using runtime stdlib constructor will result in compilation error
2017-03-05 21:48:59 +03:00
ftk
72cb9bd940
Compile out module path search code when module support is disabled
2017-03-05 21:26:01 +03:00
ftk
84f9c44ab6
Do not register load_module by default when dynamic loading is disabled
2017-03-05 21:23:05 +03:00
ftk
698dfb06db
Loadable module support can be disabled by defining CHAISCRIPT_NO_DYNLOAD
2017-03-05 20:54:01 +03:00
Jason Turner
064a385a64
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2017-02-22 15:56:04 -07:00
Jason Turner
283785faaf
Add PVS Studio and address some issues it found
2017-02-22 15:18:56 -07:00
Jason Turner
40fb8d257e
Fix warnings from MSVC
2017-02-22 13:55:02 -07:00
Jason Turner
87f1242ed4
Update copyrights to 2017
2017-02-15 15:55:40 -07:00
Jason Turner
faba0f1317
Require thread_local support, move to xcode8
2017-02-15 15:38:44 -07:00
Jason Turner
077c93ab27
Fix/enhance unique_ptr support
2017-02-04 09:14:07 -08:00
Jason Turner
1cb15d8b22
Handle return of std::unique_ptr objects
2017-02-03 19:34:12 -08:00
Jason Turner
dca3ce4ea6
Enhance testing of integer literals
...
* enable the ability to check a boxed_number conversion
* fix integer_literal_test to pass on MacOS
2017-02-02 15:07:37 -07:00
Jason Turner
f5ced799cf
Hopefully find balance with gcc/clang for static_string
2017-02-02 08:10:47 -08:00
Jason Turner
24352c62e8
Some clang specific fixes / warnings
2017-02-02 08:00:57 -08:00
Jason Turner
18cf09b512
Merge pull request #319 from Tw1ddle/patch-1
...
Add double stringize trick so _MSC_FULL_VER macro gets expanded
2017-02-01 20:12:04 -07:00
Jason Turner
2782cdd33b
Remove 2-value bind in favor of lambdas
...
closes #320
2017-02-01 15:42:32 -08:00
Jason Turner
d8d7bc79b7
Enhance number parsing tests
2017-02-01 09:07:40 -08:00
Jason Turner
3e04210027
Add more integer literal tests / fix neg test
...
Addresses #322
2017-02-01 07:02:18 -08:00
Jason Turner
c82c9ccb6e
Revert "Fix parsing of negative numbers"
...
This reverts commit 83b7973cb885af928e36195a7cbc6ab8f04a93b6.
2017-02-01 06:18:14 -08:00
Jason Turner
83b7973cb8
Fix parsing of negative numbers
2017-01-31 15:41:21 -08:00
Jason Turner
0a18f0a809
Remove unnecessary params
2017-01-31 13:40:16 -08:00
Jason Turner
8efba903c3
use std::end instead of end because of MSVC
2017-01-31 13:28:40 -08:00
Jason Turner
ca87c05cd4
Don't add 'this' if it was explicitly captured
2017-01-31 13:25:26 -08:00
Sam Twidale
574f4a9664
Add double stringize trick so _MSC_FULL_VER macro gets expanded
...
This fixes CHAISCRIPT_COMPILER_VERSION, so it gets the compiler version number instead of the string "_MSC_FULL_VER".
This means, for example, build ids read like msvc-190023918-Debug, not msvc-_MSC_FULL_VER-Debug.
2017-01-09 18:38:19 +00:00
Jason Turner
a8e70a4cfe
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2016-12-06 13:43:53 -07:00
Jason Turner
f79de06e0b
Change comment format
2016-12-06 13:42:58 -07:00
Jason Turner
cee57f998a
Allow conversions while calling chaiscript funcs
...
* This puts ChaiScript funcs more on even footings with
C++ defined funcs
* Minor performance hit (0.5%)
2016-12-06 13:05:17 -07:00
Jason Turner
ce62706fea
Clean up warnings
...
* msvc
* pvs-studio
2016-12-06 10:31:36 -07:00
Jason Turner
fb7f8f194c
Add support for r-value parameters and unique_ptr
...
Notes
* Due to the limitations for how Boxed_Value is handled
the unique_ptrs must still be wrapped in a shared_ptr
* However, this caveat does not directly affect the user
2016-12-05 12:07:56 -07:00
Jason Turner
d6d50478de
Make constexpr members const
2016-12-03 07:59:06 -07:00
Jason Turner
defdb53a55
Fix regression from last commit on single char operators
2016-12-02 23:26:54 -07:00
Jason Turner
0dea62dd54
Finish removing runtime string comparisons
...
* Now virtually all parser string work is done at compile time
* Continuing the work started by @niXman
2016-12-02 23:01:57 -07:00
Jason Turner
9e17514b57
Move away from class level statics
...
- Avoiding potential issues with linking and multiple symbol definitions
2016-12-01 15:20:48 -07:00
Jason Turner
5f402e71dd
Move away from macro, get slight perf boost with hand rolled compare
2016-12-01 14:47:23 -07:00
Jason Turner
95e119fffe
Merge github.com:niXman/ChaiScript into develop
2016-12-01 14:03:56 -07:00
Jason Turner
f17439a9d3
Add scope around condition in for/while
...
* solves issue with rapidly expanding memory usage if
function variable use stack is growing rapidly
2016-12-01 13:42:40 -07:00
Jason Turner
940e0c2d86
Merge pull request #306 from StanEpp/develop
...
Added add_class overload for scoped enums.
2016-12-01 10:10:49 -07:00
sjaustirni
b68f917677
Fixed a bug in the first example
...
This example has been forgotten to be updated, despite other being up to date.
2016-11-26 15:43:28 +01:00
Stan
7f4af72244
Added add_class overload for scoped enums.
2016-11-23 20:39:21 +01:00
Jason Turner
50dcbc8c7e
Simplify Symbol parsing.
...
closes #301
2016-11-13 15:14:41 -07:00
niXman
1ea91faf52
parser optimization Three
2016-11-08 01:11:46 +02:00
niXman
745e0c0f0b
parser optimization step Two
2016-11-04 09:15:02 +02:00
niXman
c42477f2eb
parser optimization step One
2016-11-03 22:47:48 +02:00
Jason Turner
012f1ffff5
Remove incorrect override
2016-10-30 21:51:00 -06:00
Jason Turner
9925b20fad
Cleanups found with PMD's CPD
2016-10-29 09:41:55 -06:00
Jason Turner
28122f7cb0
Fix single parameter constructors found by cppcheck
2016-10-28 15:49:40 -06:00
Jason Turner
b1f1803759
Some cleanups found by clang's analyzer
2016-10-28 14:53:01 -06:00
Jason Turner
359897a442
Flesh out parser and tracer usage cases
2016-10-28 13:36:10 -06:00
Jason Turner
332a62769b
Merge branch 'release-5.x' into develop
2016-10-28 10:57:55 -06:00
Jason Turner
a38b254a98
Only allow class in top level scope
...
* Throw error if class is in unexpected place
* Allow catching of `eval_error` from inside of script
closes #297
2016-10-28 10:56:12 -06:00
Jason Turner
eefd50a6bc
Merge branch 'release-5.x' into develop
2016-10-26 14:05:28 -06:00
Jason Turner
0d4a99af82
Enable conversion to bool in conditionals
...
closes #295
2016-10-26 13:52:03 -06:00
Jason Turner
8b18e301d2
Merge branch 'release-5.x' into develop
2016-10-26 12:24:40 -06:00
Jason Turner
508729ec77
Properly handle error reporting with method_missing
2016-10-26 10:08:53 -06:00
Daniel Guzman
4ad661475b
Fix some GCC compiler errors.
2016-10-22 16:49:53 +02:00
Jason Turner
6d309b7516
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2016-10-17 20:55:47 -06:00
Jason Turner
7d9e1b3af7
Add ability to disable loading external files
...
* Options are passed to ChaiScript constructor
* load_module / eval_file / use can be disabled
from script context
2016-10-17 20:51:15 -06:00
Stephen Berry
d2c2962eb7
Added braces to better distinguish case statements.
...
Added more comments to namespace handling functions.
Added mutex protection to import.
2016-10-17 08:26:26 -05:00
Jason Turner
b99ccafa07
Fix some MSVC issues
...
* Add error if you are using too low of an MSVC compiler
* Fix some warnings
2016-10-16 16:04:33 -06:00
Jason Turner
c97a69537d
Add ability to get current script context
...
closes #277
2016-10-13 20:44:13 -06:00
Stephen Berry
a01687d7ad
Added basic namespace handling. The new code is wrapped in NAMESPACE HANDLING comments.
...
C++:
register_namespace(): registers a namespace with an instance of ChaiScript (supports delayed namespace generation)
import(): imports a namespace as a global Dynamic_Object
ChaiScript:
import(): imports a namespace
namespace(): generates and registers a new namespace
2016-10-12 09:42:57 -05:00
Jason Turner
fac8f3ec90
Merge branch 'release-5.x' into develop
2016-10-10 20:09:40 -06:00
Jason Turner
ab07872857
Update to 5.8.6
2016-10-10 19:46:29 -06:00
Jason Turner
23c13e6570
Apply return optimization to lambdas
...
closes #289
2016-10-10 18:52:54 -06:00
Jason Turner
c37c901a0c
Fix MSVC build
...
closes #287
2016-10-07 21:39:19 -06:00
Jason Turner
d638d87a0f
Fix function reassignment
2016-10-07 09:36:38 -06:00
Jason Turner
b091439567
Merge branch 'release-5.x' into develop
2016-10-07 09:13:19 -06:00
Jason Turner
665125665a
Bump to 5.8.5
...
- remove parsing of unary &, it was unused
2016-10-06 22:32:55 -06:00