Daniel Kolesa
2270d8e41f
up the default warning level, turn off rtti by default
2021-03-31 01:35:02 +02:00
Daniel Kolesa
13d46881e8
windows fixes and other correctness/portability stuff
2021-03-31 01:13:35 +02:00
Daniel Kolesa
eddbf64c87
get rid of call_with_cleanup
2021-03-30 23:49:50 +02:00
Daniel Kolesa
19f0ff379a
move callable into its own header
2021-03-30 23:37:55 +02:00
Daniel Kolesa
89e5f5f004
move everything to alias_stack and remove stacked_value
2021-03-30 20:55:50 +02:00
Daniel Kolesa
1def48cf76
redo alias_stack for robustness (guarantee order of push/pop)
2021-03-30 20:37:50 +02:00
Daniel Kolesa
970e37f318
make alias pushing separate from setting value
2021-03-30 20:24:46 +02:00
Daniel Kolesa
d1243c5cc3
add better api to deal with alias stack
2021-03-30 03:57:43 +02:00
Daniel Kolesa
3dc6ad866f
make command argcount unlimited, remove maxargs checks from codegen
...
also adjust the bytecode appropriately, now you can call commands
with an unlimited number of args and aliases with max 32 args,
extra args will be ignored
2021-03-30 02:08:25 +02:00
Daniel Kolesa
c2bb8e4a3d
move ident_stack out of public interface
2021-03-30 00:31:11 +02:00
Daniel Kolesa
4154944726
remove fixed-size argument stacks and reliance on argument ids
2021-03-30 00:28:06 +02:00
Daniel Kolesa
9e82dc0d2f
get rid of cycle check from push_arg
2021-03-29 23:42:08 +02:00
Daniel Kolesa
47f24d6e2e
fix typo
2021-03-29 00:46:13 +02:00
Daniel Kolesa
8385ab01e7
use bitset to store usedargs and increase argcount to 32
2021-03-28 23:46:08 +02:00
Daniel Kolesa
96592fb6ac
eliminate MAX_ARGUMENTS from lib_base
2021-03-28 22:56:17 +02:00
Daniel Kolesa
f7ba70b8b2
fix conc instruction
2021-03-28 22:49:46 +02:00
Daniel Kolesa
2a017a336c
reorder vm a bit
2021-03-28 17:11:35 +02:00
Daniel Kolesa
064a7ea99b
document the instructions and drop more now useless vm code
2021-03-28 17:07:29 +02:00
Daniel Kolesa
d11e50f5b5
remove the now useless MAX_RESULTS constant
2021-03-28 01:33:31 +01:00
Daniel Kolesa
d7700a9337
remove now unused BC_INST_CONC_M
2021-03-28 01:31:59 +01:00
Daniel Kolesa
3f513180f1
drop prevargs in codegen
...
since we now have a single, contiguous, unlimited VM stack, this
does not make any sense anymore (it was a limitation of the static
array)
2021-03-28 01:28:31 +01:00
Daniel Kolesa
c62dd07adb
update linenoise to latest git
2021-03-28 01:05:09 +01:00
Daniel Kolesa
371ef9e912
add build option to disable repl, use feature objects
2021-03-28 00:56:11 +01:00
Daniel Kolesa
71f45b2f07
fix up usage of IDENT_FLAG_UNKNOWN
2021-03-28 00:38:41 +01:00
Daniel Kolesa
99f227bfd9
unify arg and non-arg opcodes
2021-03-28 00:19:51 +01:00
Daniel Kolesa
d1e131dbf6
don't rely on MAX_ARGUMENTS where not necessary
2021-03-27 23:43:55 +01:00
Daniel Kolesa
54c0f2ae20
remove more dead bits
2021-03-27 00:35:20 +01:00
Daniel Kolesa
a24f7c9385
remove leftover dead code
2021-03-27 00:32:27 +01:00
Daniel Kolesa
a37eb25d1c
move public state methods where they belong
2021-03-27 00:26:59 +01:00
Daniel Kolesa
b27d4fa7e6
make p_tstate actually private
2021-03-26 03:05:14 +01:00
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
865bac73f3
remove pointless friends
2021-03-25 01:57:47 +01:00
Daniel Kolesa
c854e9d189
move the owner tag inside
2021-03-25 01:55:47 +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
4ded59ce70
launder aligned_storage pointers
2021-03-24 02:42:33 +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
7139370990
move belonging stuff into cs_ident
2021-03-23 21:57:38 +01:00
Daniel Kolesa
d06396f88f
move more stuff into cs_state.cc
2021-03-23 21:55:19 +01:00
Daniel Kolesa
95e0da1fff
move some more stuff, don't use both_libraries() in meson
2021-03-23 02:48:14 +01:00
Daniel Kolesa
b5b0d0adf5
move some public state api into cs_state, separate lib_base
2021-03-23 02:43:18 +01:00
Daniel Kolesa
87e141ab36
move public ident interfaces to cs_ident.cc
2021-03-23 02:35:31 +01:00