Daniel Kolesa
bd9a6cbf7c
eliminate more future private accesses
2021-03-26 02:59:42 +01:00
Daniel Kolesa
0b2c4c7038
pass thread_state in more places
2021-03-26 02:29:54 +01:00
Daniel Kolesa
468c3a07d4
get rid of some indirections
2021-03-25 01:52:03 +01:00
Daniel Kolesa
d80af7b159
hide internal_state from public state struct
2021-03-25 01:37:42 +01:00
Daniel Kolesa
14cd90116d
use the value stack in more places
2021-03-24 23:30:30 +01:00
Daniel Kolesa
4e8c3ee40f
move the VM stack off the real stack + std cleanups
2021-03-24 22:38:29 +01:00
Daniel Kolesa
3d37ea22c3
put force_ident and force_code in any_value
2021-03-24 21:01:01 +01:00
Daniel Kolesa
00b8312ad5
move most thread state into an internal structure
2021-03-24 20:33:20 +01:00
Daniel Kolesa
d774db675a
separate cs_gen.hh, various refactors
2021-03-24 02:21:32 +01:00
Daniel Kolesa
21aec59ad3
rename namespace to cubescript
2021-03-23 23:32:25 +01:00
Daniel Kolesa
b9b344cba6
remove cs_ namespace in all API
2021-03-23 23:29:32 +01:00
Daniel Kolesa
b3b4624af1
drop cubescript.cc, move parsing stuff from cs_std to cs_parser
2021-03-23 22:17:25 +01:00
Daniel Kolesa
4b6c284ea1
separate cs_parser.cc, drop cs_util.cc
2021-03-23 02:00:23 +01:00
Daniel Kolesa
2cc1b0e271
add cs_std.cc, drop cs_util.hh
2021-03-23 01:46:56 +01:00
Daniel Kolesa
4588ae2373
separate cs_state, cs_std
2021-03-23 01:11:21 +01:00
Daniel Kolesa
702dca0809
separate ident and error impls into their own files
2021-03-22 22:33:15 +01:00
Daniel Kolesa
f9a49ffba7
get rid of emptyblock
2021-03-22 22:01:49 +01:00
Daniel Kolesa
83e92e6881
ditch a bunch of reinterpret_casts
2021-03-22 21:37:13 +01:00
Daniel Kolesa
3d2f115de5
separate bytecode bits into its own file
2021-03-22 21:26:05 +01:00
Daniel Kolesa
f72a39f656
manage bytecode memory using the state allocator
...
this means *all* heap allocated memory is now handled through
the state's allocator (well, except things using std::function),
which allows for precise memory tracking and control
2021-03-21 19:23:23 +01:00
Daniel Kolesa
666f487a92
don't need full bcode_ref/unref in this case
2021-03-21 18:53:22 +01:00
Daniel Kolesa
3f866baccb
strict reference counting for bytecode references
2021-03-21 18:45:59 +01:00
Daniel Kolesa
a5b0ce5d72
drop cs_cmd_internal
2021-03-21 03:07:11 +01:00
Daniel Kolesa
436098cc38
drop the whole cs_alias_internal nonsense
2021-03-21 02:59:37 +01:00
Daniel Kolesa
f8eb07ee2b
hide implementation details of idents
2021-03-21 02:47:02 +01:00
Daniel Kolesa
be71d3a4b9
rework allocator errors and error message storage buffer
2021-03-20 21:06:26 +01:00
Daniel Kolesa
d7c93fa8b9
make format errors internal errors
2021-03-20 19:54:46 +01:00
Daniel Kolesa
82d366366e
drop libostd requirement entirely
2021-03-20 08:23:51 +01:00
Daniel Kolesa
68669413cc
get rid of most remaining ostd usage
2021-03-20 06:52:10 +01:00
Daniel Kolesa
10b2a81cec
redo (un)escape_string around output iterators
2021-03-20 06:18:31 +01:00
Daniel Kolesa
320fdbaefd
use c++20 std::span
2021-03-20 05:41:25 +01:00
Daniel Kolesa
4068c96ec2
remove the auxiliary run_<type> APIs, they are fairly useless now
2021-03-20 05:14:14 +01:00
Daniel Kolesa
d626fba537
remove file exec api
...
this is something each thing will want to do on its own...
but add a new set of calls that take code source for debug info
2021-03-20 05:10:19 +01:00
Daniel Kolesa
5648c1a757
use string_view everywhere that returns or takes a string
2021-03-20 04:10:27 +01:00
Daniel Kolesa
5a4cccf194
move strref impl to cs_util
2021-03-19 02:28:30 +01:00
Daniel Kolesa
26bcc43578
get rid of tvals_concat in favor of simpler api
2021-03-19 00:31:18 +01:00
Daniel Kolesa
64d9c0e749
make intstr/floatstr internal to cs_value
2021-03-19 00:12:47 +01:00
Daniel Kolesa
9d0494a9da
replace list_parser with a simpler api
2021-03-18 23:53:16 +01:00
Daniel Kolesa
704f9217f7
unify enum style
2021-03-18 20:55:14 +01:00
Daniel Kolesa
7023e09049
don't use memcpy for non-trivial structures
2021-03-18 01:37:38 +01:00
Daniel Kolesa
6ed9ae1235
get rid of standard i/o inside vm
2021-03-18 00:03:30 +01:00
Daniel Kolesa
7eaf3679a4
get rid of cs_value::get_strr
2021-03-17 21:59:37 +01:00
Daniel Kolesa
2f5bb697eb
use string refs more instead of allocated strings
2021-03-17 21:46:37 +01:00
Daniel Kolesa
e3cff816c7
reduce copying strings around (ensure refs are not erased)
2021-03-17 21:00:19 +01:00
Daniel Kolesa
64130a12bf
remove handling of constants from codegen, bytecode and cs_value
...
also drop move semantics on cs_value
2021-03-17 20:41:08 +01:00
Daniel Kolesa
c004db42c6
refactor cs_value and related structures to contain state
...
this will allow us to intern strings inside cs_value
2021-03-17 01:26:30 +01:00
Daniel Kolesa
dcae5b30b2
initial implementation of unique/interned string manager
2021-03-16 00:45:09 +01:00
Daniel Kolesa
8805594bc2
style fixes
2018-04-27 23:53:55 +02:00
Daniel Kolesa
d12e7f67ee
gcc warning fixes
2017-11-06 01:07:53 +01:00
Daniel Kolesa
efdc82324e
fix includes
2017-06-20 21:21:39 +02:00