Jason Turner
6bfc130b73
Fix pull from develop, fix gcc warnings
2017-12-16 11:50:32 -07:00
Jason Turner
cd05b1f750
Merge branch 'develop' into best_practices
2017-12-16 10:22:25 -07:00
arcoRocks
f6ffcd9481
Fix for #387
2017-12-04 13:41:59 +01:00
Jason Turner
56140608ef
Fix scope optimizations for ranged for and refs
...
Closes #383
2017-11-30 10:06:32 -07:00
Jason Turner
035319bbd0
Fix "compiled loop" optimization
2017-11-26 22:31:35 -07:00
Jason Turner
6ae3f2d187
Merge remote-tracking branch 'origin/develop' into best_practices
2017-11-21 16:28:12 -07:00
Jason Turner
903454bf05
Merge pull request #290 from stephenberry/develop
...
Adding basic namespace handling
2017-11-21 16:27:40 -07:00
Jason Turner
f462796ee5
Add clone shortcircuit for strings
2017-11-21 16:17:53 -07:00
Jason Turner
8b523c73b8
Merge remote-tracking branch 'origin/develop' into best_practices
2017-11-21 15:34:04 -07:00
Jason Turner
f37bb847c7
Merge remote-tracking branch 'origin/c++17' into best_practices
2017-11-21 14:59:04 -07:00
Jason Turner
fdddba1e00
Merge pull request #355 from bogemic/pvs-studio-warnings-v728
...
fixed PVS-Studio warnings V728
2017-11-21 14:51:56 -07:00
Jason Turner
8307663938
Look for and optimize decl assignments
...
Re: #356
2017-11-21 10:26:58 -07:00
Jason Turner
50a2773081
Reduce cost of cloning common built in types
...
Re: #356
2017-11-21 09:01:17 -07:00
Jason Turner
c6021f3e61
Bug fix from Function_Params refactor
2017-11-19 06:20:27 -07:00
Jason Turner
92ae85c3e8
Remove guards from catch blocks
2017-11-18 19:08:14 -07:00
Jason Turner
a6d30baa27
Apply some if constexpr action
2017-11-17 06:12:50 -07:00
Jason Turner
b03b90dee6
Fix bug introduced with Function_Params refactor
2017-11-17 05:26:24 -07:00
Jason Turner
28a59d2a6e
Avoid creating vectors when possible
2017-11-16 09:10:48 -07:00
Jason Turner
15196af5d6
Remove one case of UB union work
2017-10-02 09:52:51 -06:00
Mario Lang
f54aa90736
Use using
2017-09-25 16:55:18 +02:00
Jason Turner
8e590387f1
Merge branch 'constexpr' into c++17
2017-09-20 17:05:31 -06:00
Jason Turner
6cae70c208
Move to module level statics from function level
2017-09-20 16:44:32 -06:00
Jason Turner
c5a9cab3dd
Simple cleanup for string comparisons
2017-09-20 15:34:19 -06:00
Jason Turner
e38b05ff9a
Better constexpr for comment types
2017-09-10 07:12:33 -06: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
bfe7799d13
Come C++17 updates, namespaces, etc
2017-09-02 13:12:52 -06:00
Jason Turner
4213f24761
Various C++17 considerations
2017-08-29 16:14:44 -06:00
Jason Turner
e6a6a20eb6
Handful for C++17 things
2017-08-26 08:24:55 -06:00
Jason Turner
4275ec6878
Make it easier to swap around some hashing algorithms
2017-08-25 15:31:24 -06:00
Jason Turner
dce9e17c34
More string_view tweaks
2017-08-25 14:49:44 -06:00
Jason Turner
e49df4c54d
Move the parser to string_view
2017-08-25 11:17:47 -06:00
Jason Turner
dd918c524d
Use if constexpr in boxed_number
2017-08-23 20:20:17 -06:00
Jason Turner
b8b548bab3
more constexpr for parser
2017-08-23 16:10:10 -06:00
Jason Turner
ac8f876347
constexpr fixes for Visual Studio
2017-08-22 12:02:42 -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
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
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
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
f03659c865
More careful testing of 'for' parses
2017-07-19 13:19:36 -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
bd736eddec
Deprecate GLOBAL #247
2017-05-30 11:33:12 -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
9847618cf3
Fix use after move during parsing
...
closes #337
2017-03-21 12:17:30 -07: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
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
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
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
Jason Turner
a8e70a4cfe
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2016-12-06 13:43:53 -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
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
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
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