Jason Turner
b810e4f7d9
Callable traits constexpr
2017-08-22 13:29:08 -06:00
Jason Turner
ac8f876347
constexpr fixes for Visual Studio
2017-08-22 12:02:42 -06:00
Jason Turner
b51b52dea9
constexpr bind_first
2017-08-22 10:03:26 -06:00
Jason Turner
535c0344b7
Make function constexpr
2017-08-20 13:11:57 -06:00
Jason Turner
ddb2f352cd
Initial simple application of constexpr to API
2017-08-17 11:27:14 -06:00
Jason Turner
58f740844d
Undo perf hit to keyword lookups
2017-08-15 13:17:23 -06:00
Jason Turner
0fc420f69d
Revert "Remove exception specification shared_ptr use"
...
This reverts commit e1cf8b9eb1d59d49149454424ec49bd0d8a3b28f.
2017-08-15 10:13:20 -06:00
Jason Turner
1ca857b890
Satisfy older clangs by adding default ctor
2017-08-11 14:20:17 -06:00
Jason Turner
710b3c4003
Fix instantiation of Static_String for older compilers
2017-08-11 08:57:44 -06:00
Jason Turner
ca8f78ff89
JSON noexcept updates
2017-08-10 22:22:13 -06:00
Jason Turner
73d543eef0
Make operator lookup noexcept
2017-08-10 20:32:39 -06:00
Jason Turner
5ba155e058
Make operators noexcept (removing std::vector usage)
2017-08-10 19:52:32 -06:00
Jason Turner
5d56051532
Various noexcept additions
2017-08-10 19:47:03 -06:00
Jason Turner
e1cf8b9eb1
Remove exception specification shared_ptr use
2017-08-10 10:28:16 -06:00
Jason Turner
7986ea08b6
More work towards all noexcept, warning cleanups
2017-08-09 14:36:45 -06:00
Jason Turner
34534c1386
Changes that noexcept want to happen
2017-08-08 17:06:36 -06:00
Jason Turner
171765cfdb
Add back in extent capture
2017-08-06 18:19:43 -06:00
Jason Turner
7f6f1d8a59
Fix clang warnings, fix misplaced noexcept
2017-07-31 16:12:16 -06:00
Jason Turner
3f8b697e9e
Fix windows noexcept build
2017-07-23 07:38:20 -06:00
Jason Turner
e07cd88659
Add noexcept where appropriate
...
This modifies no logic, it simply adds the keyword `noexcept`
I believe this is 100% correct. It calls methods that are not
guaranteed to be `noexcept`, such as `operator[]` but have
no logically way of throwing.
2017-07-22 20:33:30 -06:00
Jason Turner
755f650a8d
strip noexcept
2017-07-21 05:44:20 -06:00
Jason Turner
ef333e491a
remove existing constexpr
2017-07-20 21:16:54 -06: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
93bc6109e7
Merge branch 'develop' into typed_function_ordering
2016-12-05 19:19:41 -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
4119e6e7d8
Merge branch 'develop' into typed_function_ordering
2016-10-26 14:33:33 -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
Jason Turner
d1c7645a4e
Backport inits for g++4.6
2016-10-06 15:19:47 -06:00
Jason Turner
8b7fe33bf1
Fix order of operations for prefix and '*', '/'
...
The problem is that Prefix did not properly participate in
operator precedence. I've fixed this, at least for the moment,
by adding a final depth of precedence that can be called when
the depth gets to the bottom.
closes #285
2016-10-06 14:44:30 -06:00
Jason Turner
7cc100e3d7
Make ChaiScript constructor public...
2016-10-06 09:36:43 -06:00
Jason Turner
21495ebb40
Make sure atomics are initialized
2016-10-06 09:09:50 -06:00
Jason Turner
b2907fc608
Merge branch 'release-5.x' into develop
2016-10-05 15:14:58 -06:00
Jason Turner
bec1b91b7b
Increment to 5.8.4
2016-09-24 17:17:40 -06:00
Jason Turner
4b81a24a0a
Fix numeric mixed-convesion operations
2016-09-24 17:15:17 -06:00
Jason Turner
8cb3bd4af8
Fix gcc 4.9 build
2016-09-16 12:47:01 -06:00
Jason Turner
4e6e63ab5d
Cleanups and split up into _basic options
2016-08-27 10:33:44 -06:00
Jason Turner
7561aa8828
Get all unit tests passing
2016-06-29 21:06:31 -06:00
Jason Turner
e44724c780
Fix debug/clang build issues
2016-06-29 17:27:07 -06:00
Jason Turner
b0f07cbe5d
Merge branch 'develop' into cleanups_and_reworkds
2016-06-29 16:11:00 -06:00
Jason Turner
62639a4359
Get building with libc++ again
2016-06-29 16:06:27 -06:00
Jason Turner
a14f1983e8
Handle a few more optimization cases
2016-06-27 12:56:43 -06:00
Jason Turner
9e16cc2a79
Simplify and normalize if block code
2016-06-27 08:56:03 -06:00
ELynx
201fef49c6
More standard compliant, use converter only where available
2016-06-27 17:40:43 +03:00
ELynx
58ebb22c55
clean-up conversion for other than std:string
2016-06-27 16:03:32 +03:00
ELynx
368a3b78a2
create holder class
2016-06-27 13:46:37 +03:00
ELynx
e3e90de02a
Proper comparison in unit tests; remove leftover static keyword
2016-06-27 13:09:32 +03:00
ELynx
8478ddc470
Move details to detail namespace, make to standard
2016-06-27 12:45:38 +03:00
ELynx
bd26355516
No warnings from MSVC
2016-06-27 12:38:50 +03:00
ELynx
19a730b78b
Basic support for Unicode 'slash'uABCD escape notation - parser understands escape sequence and following data
2016-06-27 11:52:22 +03:00
Jason Turner
e3d1741c63
Add C++17-style if-init blocks
2016-06-26 22:10:53 -06:00
Jason Turner
09bdec4882
Add ranged-for loops
...
closes [#145 ]
2016-06-26 20:00:01 -06:00
Jason Turner
c31ebb5665
Move checking of valid object names to parse time
2016-06-23 10:23:40 -06:00
Jason Turner
52a191df9e
Add optimization for unused return values
2016-06-19 20:20:51 -06:00
Jason Turner
228c942b6c
Use std::exchange
2016-06-07 12:26:30 -06:00
Jason Turner
039d0edce3
Move to std::next instead of homebrewed function
2016-05-12 08:53:38 -06:00
Jason Turner
7b3f06b269
Even more scope / block simplification
2016-05-03 14:41:16 -06:00
Jason Turner
5373bbd52e
Add Fold-Right optimizer
2016-05-03 10:21:59 -06:00
Jason Turner
17821be1e2
Reduce shared_ptr copies during dispatch
2016-05-03 08:51:44 -06:00
Jason Turner
9a526bc1ec
Allow constant folding to do conversions also
2016-05-01 12:46:15 -06:00
Jason Turner
03803ee4c4
Initial take on Tracer hooks
...
This will allow the user to add hooks in for debugging / execution
tracing / throttling / etc for each node execution
The cost is *almost* 0 if no tracing is enabled.
2016-04-30 20:53:01 -06:00
Jason Turner
dcedd64032
Merge branch 'develop' into cleanups_and_reworkds
2016-04-29 10:40:38 -06:00
Jason Turner
d34d74205c
Merge branch 'release-5.x' into develop
2016-04-29 10:40:26 -06:00
Jason Turner
41c1c490c8
Add support for *& return types
2016-04-29 08:31:59 -06:00
Jason Turner
70cdbef693
Fix threading build
2016-04-29 07:09:57 -06:00
Jason Turner
f6c69f2826
Allow folding of if blocks
2016-04-25 21:32:48 -06:00
Jason Turner
184ca7f7b2
Create Block reducing optimizer
2016-04-24 07:49:00 -06:00
Jason Turner
71caf5006f
Pull constant folding optimizer out
2016-04-23 22:27:34 -06:00
Jason Turner
4dbf1ee2bd
Pull out Return_Optimizer
2016-04-23 22:12:08 -06:00
Jason Turner
4324a700ad
Fix instring eval parsing
2016-04-23 21:00:32 -06:00
Jason Turner
5b78d5a898
Make optimizer pluggable
2016-04-23 20:22:17 -06:00
Jason Turner
ff2ab6bb8d
Make optimizer split out
2016-04-23 15:52:19 -06:00
Jason Turner
25575564c0
Make module load error much more explicit
2016-04-23 15:47:39 -06:00
Jason Turner
683164650a
Add ability to 'compile' for loops
2016-04-21 08:09:10 -06:00
Jason Turner
647f8842fd
Optimize dispatch for perfect match case
2016-04-20 09:20:38 -06:00
Jason Turner
7d11b7c5f1
Merge branch 'develop' into typed_function_ordering
2016-04-20 06:41:37 -06:00
Jason Turner
6d6f79b1a4
Only pop min/max if they were defined previously
2016-04-18 14:38:25 -06:00
Jason Turner
7ab6bce7fa
Untangle chaiscript_engine from the rest of it
2016-04-17 21:14:01 -06:00
Jason Turner
f9294c8cbe
Remove ChaiScript_Parser from stdlib, unnecessary
2016-04-17 16:55:08 -06:00
Jason Turner
80cc18bf2f
Make type_info fully constexpr
...
- Minor hit in compile size
- Minor improvement in runtime
2016-04-17 08:15:24 -06:00
Jason Turner
c68488388e
Remove some unused code in Boxed_Value
2016-04-16 22:14:02 -06:00
Jason Turner
7d5a97aa2f
Clean up if block parsing and eval
2016-04-16 15:39:32 -06:00
Jason Turner
83c6df11f0
Fix global reference assignment
2016-04-16 14:30:12 -06:00
Jason Turner
cf2fa09d6c
Eliminate branching in var decl
2016-04-16 14:13:14 -06:00
Jason Turner
f3f84594ee
A few parser cleanups
2016-04-16 12:04:18 -06:00
Jason Turner
57aa874c6e
Revert "Prefer make_unique over make_shared"
...
This reverts commit 5a947b5035dc99d2dbef35a220340036886e189c.
2016-04-16 09:02:38 -06:00
Jason Turner
32bd936a18
Remove 'annotation' feature
2016-04-16 07:52:39 -06:00
Jason Turner
498339c202
Remove some dead parser code
2016-04-16 07:35:30 -06:00
Jason Turner
56b4f465a1
Add warning on platforms without thread_local
2016-04-15 23:09:20 -06:00
Jason Turner
1a42614441
Remove unnecessary code
2016-04-15 23:02:42 -06:00
Jason Turner
6fa83bca85
Remove Do_Call helper class
2016-04-15 15:31:19 -06:00
ELynx
62e34c097c
Add capacity check; fix vector_reserve unittest
2016-04-15 14:12:07 +03:00
ELynx
14d429853b
Add typename; pass value to resize by const referene
2016-04-15 14:00:01 +03:00
ELynx
e8ff1f9d7e
Proper template types for resizable_type and reservable_type
2016-04-15 13:39:51 +03:00
ELynx
49ef5306a9
Add resize to stl list and vector; add reserve to stl vector
2016-04-15 13:15:30 +03:00
Jason Turner
7d9dbc3d86
Fix some boxed_cast issues introduced with refactor
2016-04-14 19:06:37 -06:00
Jason Turner
49dfdfd15a
Fix some boxed_cast and exception issues
2016-04-14 12:03:55 -06:00
Jason Turner
5e0a882b18
Bootstrap simplifications
2016-04-13 21:08:25 -06:00
Jason Turner
9603d3910a
Get multifile compiling
2016-04-13 15:26:36 -06:00
Jason Turner
6f0d02f158
Massive simplification of boxed_cast. More planned
2016-04-13 14:09:08 -06:00
Jason Turner
8d808f75c0
Remove pretty_print functionality
2016-04-13 12:04:55 -06:00
Jason Turner
2a1632f213
Merge branch 'develop' into cleanups_and_reworkds
2016-04-11 17:48:31 -06:00
Bjorn Fahller
2fe794fcae
Do not return Module& from internal funcs on Module&
...
A slight improvement in built binary size is achieved by not having
to generate code for the return.
2016-04-11 18:16:30 +02:00
Jason Turner
b594043eef
Clean up redundant code
2016-04-11 09:36:23 -06:00
Jason Turner
fe8f8a89a7
Implement constant expression folding
2016-04-11 08:19:02 -06:00
Jason Turner
40694c798c
Eliminate Str_AST_Node
2016-04-10 23:12:35 -06:00
Jason Turner
443828fa23
More parser simplification
2016-04-10 22:27:35 -06:00
Jason Turner
866db4ee8b
Reduce instances of Str_AST_Node
2016-04-10 21:38:44 -06:00
Jason Turner
5e97f459d8
Remove unnecessary false
2016-04-10 19:01:55 -06:00
Jason Turner
e02ac78195
Remove Char_AST_Node
2016-04-10 18:57:23 -06:00
Jason Turner
62cd8031ac
Make quoted strings into Constants
2016-04-10 18:29:16 -06:00
Jason Turner
61dfcb00c0
Move int/float into Constant
2016-04-10 17:19:48 -06:00
Jason Turner
4bf619c80f
some initialization and destructor cleanups
2016-04-09 22:10:06 -06:00
Jason Turner
08a68f310a
Move to strongly typed algebraic enum
2016-04-09 21:50:23 -06:00
Jason Turner
641ac1a1ae
Split up ifdef'd module code
2016-04-09 21:49:12 -06:00
Jason Turner
2400c64c82
Move to strongly typed enums for node types
2016-04-09 21:15:07 -06:00
Jason Turner
1e584048ce
Remove std::function from bind_first
2016-04-09 21:00:07 -06:00
Bjorn Fahller
7865f8e7f2
Keep ModulePtr kompatible functions
...
Since use of (one of) the functions in bootstrap_stl.hpp is in a
sample, chances are there are people using them in real world
application code. Thus the backwards compatible versions.
2016-04-09 21:09:45 +02:00
Bjorn Fahller
5ff97979fd
Pass Module by reference instead of shared ptr
...
This gives a small but noticeable compile time improvement as
well as a measurable, albeit not great, reduction in size of the
stdlib.
2016-04-09 15:42:55 +02:00
Jason Turner
5567e767a3
Change some {{ code
2016-04-04 15:57:14 -06:00
Jason Turner
5a947b5035
Prefer make_unique over make_shared
2016-04-04 15:36:38 -06:00
Jason Turner
6ecbaab2fe
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2016-03-30 13:02:07 -06:00
Jason Turner
dd6b38cafb
Merge branch 'release-5.x' into develop
2016-03-30 13:01:46 -06:00
Jason Turner
1e62eb4e12
Update to 5.8.2 release notes
2016-03-30 12:52:53 -06:00
Eduard
33c966b8d6
Fix description of get_guard()
2016-03-30 18:14:12 +03:00
Jason Turner
c07c2a9cc2
Make sure type_info works with shared_ptr &
2016-03-28 15:57:26 -06:00
Jason Turner
46c45e8fc7
Update boxed_cast_tests to account for new features
2016-03-27 20:50:15 -06:00
Jason Turner
91a3ae1f14
Add ability to take non-const & shared_ptr params
2016-03-27 20:02:27 -06:00
Jason Turner
2f2f789f48
Fix parsing of '' strings. found by AFL
2016-03-26 17:34:36 -06:00
Jason Turner
3627efe03b
Move away from shared_lock
...
It's not supported by enough standard library implementations yet
2016-03-16 20:14:48 -06:00
Jason Turner
1cd7a1b972
Change unsigned to size_t
2016-03-16 19:59:56 -06:00
Jason Turner
df9466e2a7
Remove unneeded overloads / make explicit
2016-03-16 19:50:59 -06:00
Jason Turner
dc8aa372c1
Less manual managing of JSON internal state
2016-03-16 19:39:10 -06:00
Jason Turner
bcc25222dd
Code reorg to reduce anon namespace
2016-03-16 19:08:50 -06:00
Jason Turner
6507a6e68e
Update naming of JSON functions
2016-03-16 18:52:02 -06:00
Jason Turner
5872b020fa
First pass at updating JSON lib
...
* eliminate manual memory management
2016-03-16 18:32:10 -06:00
Jason Turner
82a69ca043
Merge branch 'develop' into typed_function_ordering
2016-03-15 12:46:47 -06:00
Jason Turner
b424d1f9cb
delimit chaiscript text blocks
2016-03-13 15:33:23 -06:00
Jason Turner
7dcd6b8447
Implement member pointer value support
...
closes #245
2016-03-12 22:04:01 -07:00
Jason Turner
d5ae30191d
Add =, ==, and != for Dynamic_Objects
...
closes #251
2016-03-12 12:44:05 -07:00
Jason Turner
16ffbca6d6
Simplify type_info comparisons
2016-03-12 08:36:53 -07:00
Jason Turner
afa3f2249c
Mark i as unused for the sake of MSVC 0th case
2016-03-12 08:16:25 -07:00
Jason Turner
c5f4a4dfd8
various c++11/c++14 cleanups
2016-03-12 07:05:29 -07:00
Jason Turner
34a2001a7b
Reduce lookups into stack indexes
2016-03-12 07:05:12 -07:00
Jason Turner
16c4a11990
More C++11/C++14 updates
2016-03-11 18:17:04 -07:00
Jason Turner
6f01568a9a
Fix function_member call from last commit
2016-03-11 15:28:33 -07:00
Jason Turner
dfb2394b0b
Merge branch 'update_travis_toolchain' into typed_function_ordering
2016-03-11 15:00:28 -07:00
Jason Turner
a363ef5e0e
C++11/14 updates
2016-03-11 14:45:40 -07:00
Jason Turner
a3365a9c4a
Enable use of shared_mutex now on C++14
2016-03-11 13:45:01 -07:00
Jason Turner
9a5ef38d4a
Simplify exception_specification types
...
* move to variadic
* delete lots of implementation details
2016-03-11 10:57:20 -07:00
Jason Turner
5247de7d1b
use a global void value for returning unknown values
2016-03-11 10:21:39 -07:00
Jason Turner
cd1b3f8887
Virtual / override / public cleanups
2016-03-11 09:24:00 -07:00
Jason Turner
11ee71ba27
Fix index type
2016-03-10 14:45:07 -07:00
Jason Turner
978f80751f
Update proxy_functions_detail to c++14
2016-03-10 12:33:07 -07:00
Jason Turner
0ac5657661
Merge branch 'update_travis_toolchain' of github.com:ChaiScript/ChaiScript into update_travis_toolchain
2016-03-07 21:24:53 -07:00
Jason Turner
cfc8a3d214
Warning cleanups and simplification
2016-03-07 21:24:21 -07:00
Jason Turner
85163e08cc
Add missing <array> header include
2016-03-07 16:19:40 -07:00
Jason Turner
019c6b2830
Cleanup of ChaiScript_Parser
...
From episode 1 of C++ Weekly.
2016-03-07 15:36:12 -07:00
Jason Turner
947d7c2591
Merge branch 'develop' into update_travis_toolchain
...
Conflicts:
.decent_ci-Windows.yaml
CMakeLists.txt
include/chaiscript/chaiscript_defines.hpp
2016-03-05 21:12:14 -07:00
Jason Turner
539ee3c84f
Ignore unknown pragmas in older apple clang
2016-03-05 10:44:40 -07:00
Jason Turner
ad7e2138d9
Various Windows fixes
2016-03-04 17:39:32 -07:00
Jason Turner
0eee23109e
Upgrade catch to new version
2016-03-04 16:05:08 -07:00