Jason Turner
f82f6c2068
Some fixes found by resharper c++
2016-01-25 16:41:11 -07: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
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
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
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
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
2870874d91
Fix clang build errors
2015-06-20 06:53:23 -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
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
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
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
dde7d27b96
A smaller make_shared derived types
2015-04-24 21:35:56 -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
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
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
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
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
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
f95ca75aca
Clean up more warnings with stricter warning levels
2015-01-15 14:24:39 -07:00