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
2a8c248167
Implement locale dependent float parser
...
closes #250
2016-03-04 15:18:12 -07:00
Jason Turner
b5b6e5a5a3
Drop ifdef'd code for gcc4.6 and msvc12
2016-03-04 11:15:39 -07:00
Jason Turner
d4f02b5e67
Address sign promotion warnings, add todo test
2016-03-04 07:58:21 -07:00
Jason Turner
7f8a6f24f9
Fix a few warnings from old gcc
2016-02-16 11:13:14 -07:00
Jason Turner
07fa8010e4
Ack! Rollback debug statement print out
2016-02-16 11:06:20 -07:00
Jason Turner
e024b99b36
Fixes for type_conversion handling
2016-02-16 08:29:01 -07:00
Jason Turner
ed65ad72d0
Update copyrights
2016-02-14 20:04:17 -07:00
Jason Turner
bc0eaa5d15
Fix some issues found by cppcheck
2016-02-14 20:01:49 -07:00
Jason Turner
bff30278e1
Fix string parsing
2016-01-31 19:35:40 -07:00
Jason Turner
b104b26f11
Also allow lcase global keyword
...
Closes #221
2016-01-31 19:15:32 -07:00
Jason Turner
1a06e53c58
Add some compiler identification info to build
2016-01-31 19:06:44 -07:00
Jason Turner
7688c14d43
Parse strings in ${} closes #131
2016-01-29 21:34:04 -07:00
Jason Turner
485482b2be
Fix tabs in source code
2016-01-29 19:42:50 -07:00
Jason Turner
f697384028
Merge pull request #243 from vrennert/feature_initializer_list_conversion
...
Added initializer_list<T> conversion as possible function call argument or return type.
2016-01-29 15:20:38 -07:00
Jason Turner
dfd04c8291
Clean up formatting from last merge
...
Closes #238
2016-01-29 15:16:35 -07:00
Jason Turner
209d6ed2e4
Merge remote-tracking branch 'ktm/set-global' into develop
2016-01-29 15:14:32 -07:00
Jason Turner
f82f6c2068
Some fixes found by resharper c++
2016-01-25 16:41:11 -07:00
Viktor Rennert
fcca453223
Added initializer_list<T> conversion as possible function call argument or return type.
2016-01-26 00:06:57 +01:00
ktm
43def57852
add set_global, update unit test
2016-01-17 00:01:51 -05:00
Christian Kaeser
202204a82a
Limit hexadecimal escape sequence length
...
Helps with cases like "\xFFecho" by limiting the number of hex digits
that will be parsed to maximum suitable for the char type.
This rule differs from the C/C++ standard, but ChaiScript does not offer
the same workaround options.
Furthermore, without it having hexadecimal sequences longer than can fit
into the char type is undefined behavior anyway.
2015-11-08 18:36:16 +01:00
Christian Kaeser
34c6b17215
Fix broken escape sequence parsing after octal/hex escape
...
The parser code just added the first character after an octal/hex sequence
as raw text, resulting in erroneous data whenever another escape
sequence follows directly after.
2015-11-08 18:07:04 +01:00
Jason Turner
c9a5bf6f83
fix warning from GCC for unknown flag
2015-10-20 18:19:03 -06:00
Jason Turner
09748275db
Fix warnings from clang
2015-10-17 09:22:13 -06:00
Jason Turner
36765df3c0
Fix vector element assignment issues
2015-10-15 21:20:12 -06:00
Jason Turner
84e2d449b9
Support default case in the non-last position
2015-10-15 15:02:49 -06:00
Jason Turner
1add4c4b0f
Fix issues with integer parsing on MSVC
...
See #212
2015-10-04 14:32:23 -06:00
Jason Turner
14b3870efb
Fix integer overflow and bad numeric parses
2015-10-04 08:53:22 -06:00
Jason Turner
d2cf12f948
Add tests for binary literals
2015-10-03 21:01:52 -06:00
Jason Turner
e221ceaa4c
Greatly simplify integer sizing code
2015-10-03 17:11:03 -06:00
Jason Turner
beedf13d01
Make binary literals sized like other integer types
2015-10-03 16:38:41 -06:00
Jason Turner
9d18360333
Older compiler backport issues
2015-10-02 12:46:50 -06:00
Jason Turner
18e5ee0ba2
Wrap up generic string escape support
...
Closes #211
2015-10-02 12:16:44 -06:00
Jason Turner
41e9027d9a
Octal escape codes supported #211
2015-10-02 11:45:28 -06:00
Jason Turner
8d9dc2b0a3
Reduce redundant escape code parsing #211
2015-10-02 10:35:37 -06:00
Jason Turner
52e11bf001
Fun location caching phase2
...
This shows ~25% performance over develop
2015-08-31 11:00:56 -06:00
Jason Turner
9f362608b7
Eliminate extra unneeded scope
2015-08-28 21:19:00 -06:00
Jason Turner
c9625b09b0
Fix magic 'this' values
2015-08-26 18:41:46 -06:00
Jason Turner
800c7fb37b
Fix functor scope - break magic 'this'
2015-08-26 13:18:42 -06:00
Jason Turner
28f5a74e98
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2015-08-15 19:28:45 -06:00
Jason Turner
8ed2158709
Merge pull request #203 from msbroadf/develop
...
Update chaiscript_engine.hpp
2015-08-13 14:12:38 -06:00
Jason Turner
8f98e16e5e
Reset return value flag on reference assignment
2015-08-13 13:45:31 -06:00
msbroadf
3a595ef912
Update chaiscript_engine.hpp
2015-08-13 13:45:33 +10:00
Jason Turner
5aa0bfcea4
Add some convenience functions for parsing
2015-08-11 19:20:18 -06:00
Jason Turner
8931346230
Eradicate internal exceptions during object clone
2015-08-01 13:47:25 -06:00
Jason Turner
0c4951d742
Fix parsing of operators
...
* Only parse valid operators
* Don't swallow a symbol if it would produce an invalid operator
Closes #198
2015-08-01 10:05:38 -06:00
Jason Turner
0d4e4090a0
Massive reorg of file position tracking
...
- Should make iterator errors almost impossible in the future
- Fixes tracking of current line number
2015-07-30 16:53:27 -06:00
Jason Turner
22339d10db
Make order of params eval well defined
2015-07-24 12:07:46 -06:00
Jason Turner
3cae2aed1d
Remove unused Inplace Eval ast node
2015-07-23 15:34:45 -06:00
Jason Turner
c6f262c675
Parse in-string eval at regular parse time
...
- don't delay and overcomplicate with an eval
2015-07-23 15:21:39 -06:00
Jason Turner
a2ff672b34
Memory error fixes
...
* prevent recognizing . as a number
* do all checked iterator operations for incrementing through input
stream
* Verify that all is as expected when building up a dot notation call
2015-07-22 11:13:10 -06:00
Jason Turner
419c2d72a8
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into multithreaded_performance
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2015-07-16 18:12:09 -06:00
Jason Turner
6a7a934e3e
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into multithreaded_performance
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2015-07-16 13:16:04 -06:00
Jason Turner
1f72afc8f5
Add crashes and fixes found during fuzzy testing
...
* Let unhandled exceptions propogate to user
* Report eval_error when break statement is not in loop
* Fix handling of 0 length scripts closes #193
* Don't crash on arity mismatch - Specifically affects the case where no overloads exist for a given function
* Fix error printing for `bind` calls
* Handle unexpected continue statement
* Check arity during bind
* Don't allow arith conversion on variadic function
* Correct `bind` parameter match count
* Add in expected Boxed_Value exception cases
* Check access to AST, don't allow `;` in func def
* Don't attempt arithmetic unary & call
* Don't crash on 0 param call to `bind`
* Catch errors during member function dispatch
* Properly handle type of const bool &
2015-07-16 12:51:50 -06:00
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