Commit Graph

348 Commits (7f74602b7e0e15048835e84eac088696978479ab)

Author SHA1 Message Date
Daniel Kolesa 9bfb599f64 fixes 2016-09-22 00:40:33 +02:00
Daniel Kolesa 73f770552c clean up parser a bit 2016-09-22 00:36:21 +02:00
Daniel Kolesa 33c6479539 move ListParser utils out of the way 2016-09-21 21:02:13 +02:00
Daniel Kolesa 918ca216a3 recursive parseword 2016-09-21 20:48:56 +02:00
Daniel Kolesa 1b25b64ae5 force strings to be finished 2016-09-20 22:33:02 +02:00
Daniel Kolesa 43e272c7e0 more parser cleanups 2016-09-20 22:24:56 +02:00
Daniel Kolesa 6f706dea86 properly get rid of cutstring/cutword 2016-09-20 22:11:40 +02:00
Daniel Kolesa 814b2824e9 match ostd api 2016-09-18 19:31:19 +02:00
Daniel Kolesa b57fcd082b split up statement parser a bit 2016-09-17 22:32:32 +02:00
Daniel Kolesa 62d4afccd2 remove set_mstr 2016-09-15 23:09:52 +02:00
Daniel Kolesa 1846fee1a0 clean up string lib 2016-09-15 23:04:32 +02:00
Daniel Kolesa 4bbe2ca6df clean up list sort 2016-09-15 22:45:28 +02:00
Daniel Kolesa cf21ba0a86 list lib cleanup 2016-09-15 22:34:52 +02:00
Daniel Kolesa 845232605d remove the out stream and re-do the var printing system 2016-09-15 21:59:11 +02:00
Daniel Kolesa 192ce615d8 remove get_err/set_err 2016-09-15 21:27:14 +02:00
Daniel Kolesa f12197bbe5 throw CsErrorException where appropriate (robust error handling everywhere) 2016-09-15 21:15:54 +02:00
Daniel Kolesa 377e9d7702 throw out of the VM on errors 2016-09-15 20:55:58 +02:00
Daniel Kolesa 214ecf8ad2 fix multi-operand cmp bug 2016-09-15 19:21:06 +02:00
Daniel Kolesa c97e56d7b7 fix doargs segv 2016-09-15 04:30:37 +02:00
Daniel Kolesa 38c17d1911 implement break/continue in bytecode 2016-09-15 02:12:22 +02:00
Daniel Kolesa b05bc51b14 reduce the instruction number by merging some instructions 2016-09-15 02:02:54 +02:00
Daniel Kolesa b0917ade03 use type inference for shorter command funcs 2016-09-15 00:42:19 +02:00
Daniel Kolesa c5772f0720 add loop control (break and continue) 2016-09-14 23:24:13 +02:00
Daniel Kolesa b20eb94a9e alloc error stack using CsState 2016-09-14 21:46:47 +02:00
Daniel Kolesa e7f3213588 custom allocf support 2016-09-14 21:33:32 +02:00
Daniel Kolesa e41c3c03a1 use exceptions to throw errors 2016-09-14 00:14:21 +02:00
Daniel Kolesa 4510e53916 use normal exception handling to handle errors C++-side, also guarantee valid pointer from alloc 2016-09-13 23:47:06 +02:00
Daniel Kolesa 35ebb0e822 useful funcs to alloc resources for internal use 2016-09-13 18:57:02 +02:00
Daniel Kolesa f97f896017 throwing errors now does not allocate (besides the stack) 2016-09-12 21:47:29 +02:00
Daniel Kolesa ce62593840 move idents/identmap into internal state 2016-09-12 20:04:59 +02:00
Daniel Kolesa 083f905913 explicitly pass CsState to all callbacks (might be a different thread eventually) 2016-09-11 23:13:39 +02:00
Daniel Kolesa dc5294bac3 re-done pcall without blocks 2016-09-10 20:44:06 +02:00
Daniel Kolesa 6d2d8dda73 remove nodebug (useless/incompatible with pcall) 2016-09-10 20:10:15 +02:00
Daniel Kolesa 820e7a9e9b opaque callstack 2016-09-10 20:03:58 +02:00
Daniel Kolesa 233b9dc7dd get rid of noalias 2016-09-10 19:54:55 +02:00
Daniel Kolesa f1e1a02a11 panic func takes ConstCharRange 2016-09-10 18:49:36 +02:00
Daniel Kolesa dfe491e4b3 error cleanup and always include lineinfo where possible 2016-09-10 16:06:01 +02:00
Daniel Kolesa 3e0b35e427 fix a subtle bug with small int->string conversions 2016-09-10 15:31:13 +02:00
Daniel Kolesa 323c84c3d6 trigger actual errors from parser 2016-09-10 15:01:49 +02:00
Daniel Kolesa 879737ce83 remove unnecessary func, allow formatted errors 2016-09-10 01:11:21 +02:00
Daniel Kolesa 32c53a31a0 pass callstack state with errors 2016-09-09 19:19:50 +02:00
Daniel Kolesa f1039148b0 allow for arbitrarily sized CsInt/CsFloat 2016-09-09 17:43:23 +02:00
Daniel Kolesa 9b292188c8 simple interface to error/pcall on cubescript side 2016-09-09 01:18:06 +02:00
Daniel Kolesa bb72c27d2d simple error handling mechanism (will be used extensively later once it improves) 2016-09-09 00:42:53 +02:00
Daniel Kolesa 5674375614 clean up the call stack in a scoped way properly always 2016-09-08 23:42:14 +02:00
Daniel Kolesa e3310ce74f fix invalid free in code cleanup 2016-09-08 22:04:36 +02:00
Daniel Kolesa f3fd6892bc rename p_stack to p_callstack in CsState 2016-09-08 21:30:08 +02:00
Daniel Kolesa cdb5a5f6f8 source tree reorg 2016-09-07 22:57:28 +02:00