Jason Turner
2fbc377119
More strongly typed handling of push_back wrapper
...
Closes #192
2015-07-11 18:36:07 -06:00
Jason Turner
b270a198dc
Don't clone return values into vector/map
2015-07-02 22:10:09 -06:00
Jason Turner
748c18f465
Save stack & and prevent lookups
2015-06-28 15:17:58 -06:00
Jason Turner
4890b47460
Reduce unary operator overhead
2015-06-23 14:25:34 -06:00
Jason Turner
b53432cf28
Remove remaining uses of std::function
2015-06-23 13:02:43 -06:00
Jason Turner
ec33cf2709
Make local location saving atomic
2015-06-20 10:52:05 -06:00
Jason Turner
c7689f18ec
Save local variable location after first pass
2015-06-20 10:28:27 -06:00
Jason Turner
c4633436ba
Avoid placeholder lookup cost
2015-06-20 07:13:54 -06:00
Jason Turner
2870874d91
Fix clang build errors
2015-06-20 06:53:23 -06:00
Jason Turner
646563eb3f
A couple of cleanups and fixes
2015-06-19 20:10:45 -06:00
Jason Turner
88ab00679f
Fix spelling of Windows.h for cross compiling
...
Closes #176
2015-06-10 18:49:54 -06:00
Jason Turner
86482b0103
Correct docs for 'filter'
...
Closes #183
2015-06-10 18:44:30 -06:00
Jason Turner
f9e0193353
Add map .at method from c++11
...
closes #184
2015-06-10 18:41:50 -06:00
Jason Turner
ecafb4aad0
Add missing cstring
2015-06-02 18:20:13 -06:00
Jason Turner
38a83e3e56
Fix MSVC2013 builds
2015-06-02 17:35:31 -06:00
Jason Turner
bb2938307c
Move prelude into stdlib so it's not included everywhere
2015-05-23 16:16:39 -06:00
Jason Turner
919c3f2b4a
Finish removing std::function and std::bind internally
2015-05-23 13:10:29 -06:00
Jason Turner
5fa44d5eef
Automatically deduce types of lambda for fun()
2015-05-19 13:47:34 -06:00
Jason Turner
dec88db26c
Minor efficiency improvement by pre sizing match stack
2015-05-19 10:55:38 -06:00
Jason Turner
cf4efacbe8
Add 'GLOBAL' keyword #122
...
Also provides functionality that makes things like overriding the built in
'print' possible. See #67
2015-05-04 11:47:36 -06:00
Jason Turner
e64e4b0877
Fix tests broken by last cleanup
2015-05-01 19:54:14 -06:00
Jason Turner
e286b9a9aa
Never access data after moving it!
2015-05-01 07:22:43 -06:00
Jason Turner
d77921f1b5
Reorg of parsing code for maintainability / performance
2015-04-30 22:05:56 -06:00
Jason Turner
3e5034ecf8
Merge branch 'smaller_make_shared' into develop
2015-04-29 16:58:34 -06:00
Jason Turner
c52ad3d827
Merge pull request #174 from totalgee/develop
...
Support scientific notation for floating point (issue #173 )
2015-04-29 16:50:39 -06:00
Glen Fraser
8fc61bf51c
Fixing build error with tolower() on Windows
2015-04-29 21:52:34 +02:00
Glen Fraser
d762ef08b6
Support scientific notation for floating point
2015-04-29 19:40:58 +02:00
Jason Turner
8bbcceed88
Attempt better data layout of AST_Node
2015-04-28 08:56:20 -06:00
Jason Turner
aaf80ac8cf
Merge branch 'develop' into smaller_make_shared
2015-04-27 16:24:17 -06:00
Jason Turner
86ec14c2c8
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2015-04-27 16:19:41 -06:00
Jason Turner
dbe546fefb
Simplify and reduce eval code where possible
2015-04-27 16:17:01 -06:00
Jason Turner
986699a3fe
Merge branch 'develop' into smaller_make_shared
...
And also apply cleanups suggested from resharper
Conflicts:
include/chaiscript/language/chaiscript_parser.hpp
2015-04-27 11:55:12 -06:00
Jason Turner
8889324b2d
Code simplifications and spelling fixes found by clion
2015-04-27 08:09:31 -06:00
Jason Turner
7a13b6b801
Merge branch 'develop' into smaller_make_shared
2015-04-25 08:53:47 -06:00
Jason Turner
4f5f46a2e5
Don't use scopes around arithmetic operators
2015-04-24 22:36:22 -06:00
Jason Turner
dde7d27b96
A smaller make_shared derived types
2015-04-24 21:35:56 -06:00
Jason Turner
f3943f215f
Merge remote-tracking branch 'origin/develop' into method_missing
2015-04-22 07:29:46 -06:00
Jason Turner
0f4bd2b889
Merge pull request #172 from ChaiScript/libcxx_ubuntu_14_04
...
Libcxx ubuntu 14 04
2015-04-22 07:26:10 -06:00
Jason Turner
90102cebd7
Full dynamic object system built on method_missing working
2015-04-21 22:36:48 -06:00
Jason Turner
059c7bcca1
Merge branch 'fix_attr_function_calls' into develop
...
Conflicts:
src/test_module.cpp
2015-04-21 12:45:59 -06:00
Jason Turner
0ed9602ba9
Get libc++ on ubuntu 14.04 working
...
The std::is_member_function_pointer<> template is broken on this version
of the libc++ standard library for const member functions.
To get ChaiScript to work with this, we had to work around the use of
automatically generated std::function wrappers in many cases. This
actually cleaned up the code in a few places and muddied it up in one.
2015-04-21 12:01:29 -06:00
Jason Turner
71245aa703
Add array type support #167
2015-04-17 20:02:09 -06:00
Jason Turner
ecd2e523f7
attributes / members holding functions works fully now
...
Issue #155
2015-04-17 16:32:59 -06:00
Jason Turner
2e769d81cf
Get return_value_handling fully working
2015-04-10 09:32:01 -06:00
Jason Turner
a3f88b43ce
Merge branch 'return_value_handling' into develop
2015-04-10 08:20:55 -06:00
Jason Turner
b489ffe3ed
Fix errors with eval/use of scripts
2015-04-10 08:20:30 -06:00
Jason Turner
63684d0042
Add the ability to get the return value from 'use'
2015-04-08 08:17:33 -06:00
Jason Turner
1f74bfd9b3
Attempt to create the concept of "return values"
...
to reduce clones of values. This doesn't quite work
2015-04-07 13:54:38 -06:00
Jason Turner
962bdf4b3c
Reduce exceptions on startup to minimum
...
This still has some exceptions thrown during the loading of modules
since I have no way of knowing where the operating system
`dlopen` and `LoadLibrary` functions will search for me to pre-check
it.
Closes #158
2015-04-06 13:17:41 -06:00
Jason Turner
7f1cd29a2c
Various cleanups
2015-04-02 15:40:45 -06:00
Jason Turner
59103b5a22
Apply some IIFE to reduce copies
2015-03-29 21:58:14 -06:00
Jason Turner
95ead0dbfb
Various warning cleanups
2015-03-25 17:30:19 -06:00
Jason Turner
c32a944b9d
Fix macos clang builds
2015-03-25 14:04:42 -06:00
Jason Turner
6ba3e92d6e
Various tree optimizations
2015-03-24 14:15:47 -06:00
Jason Turner
bd1b5c0687
Disable block optimization - it didn't handle stack
2015-03-24 10:15:08 -06:00
Jason Turner
40e2bf4099
Test optimizing the AST
2015-03-23 21:43:57 -06:00
Jason Turner
5b9878b070
Minor speed improvements
2015-03-23 20:07:07 -06:00
Jason Turner
9326539f3b
Fix gcc 4.6 errors/issues
2015-03-22 08:14:59 -06:00
Jason Turner
98e36ab836
Minor cleanups, increment to 5.7.0
2015-03-21 20:56:28 -06:00
Jason Turner
976e4ec46c
Enable parsing of lambda captures
...
Closes #161
2015-03-21 20:30:52 -06:00
Jason Turner
9963933f51
Normalize the number of child nodes in a Lambda node
2015-03-21 19:50:04 -06:00
Jason Turner
b71f9db5c2
MSVC Fixes
2015-03-13 22:27:51 -06:00
Jason Turner
c584c29951
Simplification
2015-01-31 16:12:19 -07:00
Jason Turner
c285c4d40b
Reduce code in assignment oper eval
2015-01-31 15:07:17 -07:00
Jason Turner
b5188b9eda
Cleanup assignment eval
2015-01-31 14:40:26 -07:00
Jason Turner
d558019bb3
Simplify logical && || operator eval
2015-01-31 13:41:29 -07:00
Jason Turner
76ac7c36fe
Simplify redundant bool condition checking
2015-01-31 07:28:37 -07:00
Jason Turner
9b19aa3b6e
Get ready for 5.6.0 release
...
- Update copyrights to 2015
- Set version to 5.6.0
- Update release notes
2015-01-17 07:05:10 -07:00
Jason Turner
e86fc96b2f
Merge branch 'AddMoreWarningFlags' into develop
...
Conflicts:
include/chaiscript/dispatchkit/boxed_number.hpp
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/language/chaiscript_eval.hpp
2015-01-16 19:32:53 -07:00
Jason Turner
66801349a8
Merge remote-tracking branch 'origin/OptionalTypedArgs' into develop
2015-01-16 10:19:27 -07:00
Jason Turner
bde4eb04b6
Merge remote-tracking branch 'origin/DivideByZeroProtection' into develop
2015-01-16 10:18:50 -07:00
Jason Turner
c3f343450d
Fix issues found with cppcheck inconclusive
2015-01-16 10:10:14 -07:00
Jason Turner
9449fca22f
Memory leak error fixes. Various compiler fixes.
2015-01-15 15:42:35 -07:00
Jason Turner
f95ca75aca
Clean up more warnings with stricter warning levels
2015-01-15 14:24:39 -07:00
Jason Turner
41a45ce8b5
Enable warnings (and fix up some things)
2015-01-14 21:07:40 -07:00
Jason Turner
26bf531cab
Remove unused parameter
2015-01-13 17:07:46 -07:00
Jason Turner
7761ceb736
Clean up some numeric processing code
2015-01-13 17:04:34 -07:00
Jason Turner
ef69e4a2f1
Allow typing of exception handlers
2015-01-13 14:05:41 -07:00
Jason Turner
c1f47cbc16
Update prelude to use new typed params
2015-01-13 11:39:24 -07:00
Jason Turner
4761a68d06
Enable optional typing of function params
2015-01-13 11:24:40 -07:00
Jason Turner
25b15a3449
Only apply divide by zero protection to integers
...
Also allow arithmetic error to bubble up to the caller.
2015-01-09 20:06:04 -07:00
Jason Turner
12533ce3e1
Add note about State tracking of Type_Conversions
2015-01-09 16:14:47 -07:00
Jason Turner
2e02273673
Add .bundle to module search extensions
2015-01-09 10:40:20 -07:00
Jason Turner
d91294b989
Add warning for c-style casts to gcc
2015-01-07 13:56:48 -07:00
Jason Turner
7b7e7176f5
Merge remote-tracking branch 'origin/develop' into performance_test
2014-11-17 14:17:28 -07:00
Jason Turner
423e872720
Work around bug in gcc 4.6 for initializer_list
...
Hopefully also fixes MSVC 2012
2014-11-17 07:02:52 -07:00
Jason Turner
1e8c0ab93e
Reduce redundant parsing / error code
2014-11-16 21:22:55 -07:00
Jason Turner
c90fe16858
Clean up Prefix() implementation
...
Reducing redundant code
2014-11-16 21:02:28 -07:00
Jason Turner
161652b5d9
Reworking of binary operators
...
- Eliminates re-parsing of operator strings
- Reduces much redundant code
Results
1. smaller binaries
2. less runtime memory usage
4. faster runtime
2014-11-16 20:28:44 -07:00
Jason Turner
cc5bf45b3b
Merge branch 'develop' into performance_test
2014-11-14 21:37:07 -07:00
Jason Turner
28124e4b33
Fix stack memory management
...
From 747M to 6.2M for profiling tests.
2014-11-14 20:28:53 -07:00
Jason Turner
63a083b47b
Remove uses of std::endl, which imply a flush
2014-11-13 10:13:51 -07:00
Jason Turner
99396ba05c
Add \r skipping code from @jespada
2014-11-03 21:37:25 -07:00
Jason Turner
f5304ac75c
Merge branch 'develop' of http://github.com/ChaiScript/ChaiScript into develop
2014-11-03 18:36:10 -07:00
Jason Turner
4f972bcf67
Refine lifetime of parameters to functions
...
Fixes crash caused when making function calls in a global context, and
probably fixes other things.
2014-11-03 09:13:30 -07:00
Jason Turner
c876a89030
Fix crash during user_defined_conversions_2
...
Temporaries created during user conversion operations were being dropped
before the result of the conversion was able to be used. This fixes that
by temporarily storing the result of the conversion inside the
current Function_Push_Pop context.
2014-11-02 21:37:01 -07:00
Jason Turner
e85be6eb3d
Add C++ test for user defined conversion
2014-10-28 20:23:19 -06:00
Jason Turner
7b42d5307a
Add ability to register a user defined type conversion
...
Currently this adds a fair bit of overhead. It will need to be evaluated
further before it's merged.
2014-10-28 14:52:24 -06:00
Jason Turner
43d6f0cf16
Rename dynamic_cast into type_conversion
...
Prep work for getting user defined type conversions implemented
2014-10-28 12:43:30 -06:00
Jason Turner
5986531bba
dispatchkit modernization
2014-10-04 22:59:52 -06:00