Commit graph

443 commits

Author SHA1 Message Date
q66 15e692f755 save state within ListParser and throw errors on unfinished strings in lists 2016-09-25 15:26:38 +02:00
q66 ccf24e95f5 line breaking in strings without inserting newlines 2016-09-24 03:31:56 +02:00
q66 64b12b442b remove a jump 2016-09-23 21:06:44 +02:00
q66 3a0cd8d378 exception-proof rundepth 2016-09-23 21:04:52 +02:00
q66 1cdcc438cc debug fix 2016-09-23 20:18:01 +02:00
q66 de98b808ef allow breaking statements into multiple lines with \ 2016-09-23 20:04:29 +02:00
q66 604fd4e000 proper line infos at parse time 2016-09-22 01:44:35 +02:00
q66 0f10c3e303 safer next_char() 2016-09-22 01:19:29 +02:00
q66 1c9f9c8f9f safe lexing with unterminated strings 2016-09-22 01:15:51 +02:00
q66 b3110c30b9 use ConstCharRange for source 2016-09-22 01:12:32 +02:00
q66 5527025d5c more cleanups 2016-09-22 00:42:34 +02:00
q66 9bfb599f64 fixes 2016-09-22 00:40:33 +02:00
q66 73f770552c clean up parser a bit 2016-09-22 00:36:21 +02:00
q66 33c6479539 move ListParser utils out of the way 2016-09-21 21:02:13 +02:00
q66 918ca216a3 recursive parseword 2016-09-21 20:48:56 +02:00
q66 1b25b64ae5 force strings to be finished 2016-09-20 22:33:02 +02:00
q66 43e272c7e0 more parser cleanups 2016-09-20 22:24:56 +02:00
q66 6f706dea86 properly get rid of cutstring/cutword 2016-09-20 22:11:40 +02:00
q66 37af92a831 clarify copyrights 2016-09-19 03:13:39 +02:00
q66 814b2824e9 match ostd api 2016-09-18 19:31:19 +02:00
q66 568c07521f update allocator api 2016-09-18 19:24:56 +02:00
q66 b57fcd082b split up statement parser a bit 2016-09-17 22:32:32 +02:00
q66 e0d625b3f1 new license (match OctaSTD and other OctaForge projects) 2016-09-17 04:14:01 +02:00
q66 8e3c3b93e6 update gif url 2016-09-16 00:05:42 +02:00
q66 62d4afccd2 remove set_mstr 2016-09-15 23:09:52 +02:00
q66 1846fee1a0 clean up string lib 2016-09-15 23:04:32 +02:00
q66 4bbe2ca6df clean up list sort 2016-09-15 22:45:28 +02:00
q66 cf21ba0a86 list lib cleanup 2016-09-15 22:34:52 +02:00
q66 845232605d remove the out stream and re-do the var printing system 2016-09-15 21:59:11 +02:00
q66 192ce615d8 remove get_err/set_err 2016-09-15 21:27:14 +02:00
q66 f12197bbe5 throw CsErrorException where appropriate (robust error handling everywhere) 2016-09-15 21:15:54 +02:00
q66 377e9d7702 throw out of the VM on errors 2016-09-15 20:55:58 +02:00
q66 214ecf8ad2 fix multi-operand cmp bug 2016-09-15 19:21:06 +02:00
q66 c97e56d7b7 fix doargs segv 2016-09-15 04:30:37 +02:00
q66 38c17d1911 implement break/continue in bytecode 2016-09-15 02:12:22 +02:00
q66 b05bc51b14 reduce the instruction number by merging some instructions 2016-09-15 02:02:54 +02:00
q66 b0917ade03 use type inference for shorter command funcs 2016-09-15 00:42:19 +02:00
q66 c5772f0720 add loop control (break and continue) 2016-09-14 23:24:13 +02:00
q66 b20eb94a9e alloc error stack using CsState 2016-09-14 21:46:47 +02:00
q66 e7f3213588 custom allocf support 2016-09-14 21:33:32 +02:00
q66 e41c3c03a1 use exceptions to throw errors 2016-09-14 00:14:21 +02:00
q66 4510e53916 use normal exception handling to handle errors C++-side, also guarantee valid pointer from alloc 2016-09-13 23:47:06 +02:00
q66 35ebb0e822 useful funcs to alloc resources for internal use 2016-09-13 18:57:02 +02:00
q66 56b2a86640 REPL gif 2016-09-12 23:43:33 +02:00
q66 ced9112c5c more readme 2016-09-12 22:58:28 +02:00
q66 f97f896017 throwing errors now does not allocate (besides the stack) 2016-09-12 21:47:29 +02:00
q66 ce62593840 move idents/identmap into internal state 2016-09-12 20:04:59 +02:00
q66 931f7294de repl cleanup 2016-09-11 23:33:02 +02:00
q66 083f905913 explicitly pass CsState to all callbacks (might be a different thread eventually) 2016-09-11 23:13:39 +02:00
q66 ef77d8f247 noexcept 2016-09-11 20:47:25 +02:00