Daniel Kolesa
43e6dc9341
remove get_ utilities from ident
...
this is not a good api (it prevents extensibility, requires
handling errors twice to be safe - once on user side, once
internally - and so on); just cast it
2021-04-25 00:44:45 +02:00
Daniel Kolesa
f4b8d077bb
alias_local and get_ident() memory safety (always return refs)
2021-04-24 23:34:44 +02:00
Daniel Kolesa
36bf0e368f
drop readline support in repl
...
this library is bad, and its documentation is even worse
and our linenoise now supports every non-boomer platform already
anyway
2021-04-12 20:43:19 +02:00
Daniel Kolesa
a5003678da
fix build with libc++, and try using it in CI with clang
2021-04-12 19:53:24 +02:00
Daniel Kolesa
8207ef0ce3
use overloads for new var methods
2021-04-11 20:49:26 +02:00
Daniel Kolesa
b26bae3ec5
move standard library init outside state, make it never error
2021-04-11 19:36:41 +02:00
Daniel Kolesa
d358dd83e7
halve the size of any_value by removing state pointer from it
...
this brings more advantages too like actually being default
constructible, so it can be used more easily in data structures etc
2021-04-11 03:32:33 +02:00
Daniel Kolesa
e531ab3434
clean up any_value APIs for consistency
2021-04-06 00:54:46 +02:00
Daniel Kolesa
8c8aa26c20
return refs for new_*var and new_ident (guarantee valid result)
2021-04-05 19:52:13 +02:00
Daniel Kolesa
194d5f960b
drop ret-by-reference run APIs
2021-04-05 18:32:45 +02:00
Daniel Kolesa
9c2d375471
remove overrides for fvar and svar handlers in repl
2021-04-04 19:35:45 +02:00
Daniel Kolesa
529e34d268
add a variable value change trigger callback
2021-04-04 04:30:36 +02:00
Daniel Kolesa
bab8633a05
add proper var value setting helpers
2021-04-04 02:58:04 +02:00
Daniel Kolesa
e9fc023daa
implement override value saving
2021-04-04 02:44:35 +02:00
Daniel Kolesa
3d91cf2ee7
rea-add proper handling of variable overrides
2021-04-04 02:33:28 +02:00
Daniel Kolesa
b00a08ea88
remove most variable code and leave it to user-defined handlers
...
the user can now define commands '//ivar', '//fvar' and '//svar'
which take identity (which is the variable) as the first argument
followed by any number of user defined arguments with types (one
can use the N argument type to check argument count, and when no
value arguments are provided, print the variable); this allows us
to implement different styles of variable setting without the
interpreter itself knowing about it, as well as ditch all the
stuff with overridden vars and hex vars and whatnot since this is
all specific to the engine and has no place in here
there is still leftover code remaining, which will get cleaned up
afterwards...
2021-04-03 03:16:57 +02:00
Daniel Kolesa
6068a7259b
switch to modified cpp-linenoise, use it on windows
2021-03-31 23:48:22 +02:00
Daniel Kolesa
b9c74d86b5
msvc warning fixes
2021-03-31 02:21:32 +02:00
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
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
3d9f73c7b2
drop removed arg types in repl
2021-03-23 02:23:24 +01:00
Daniel Kolesa
4b766a380f
drop the util namespace
2021-03-23 02:02:43 +01:00
Daniel Kolesa
82d366366e
drop libostd requirement entirely
2021-03-20 08:23:51 +01:00
Daniel Kolesa
cb926a5750
get rid of ostd requirements inside library entirely
2021-03-20 07:24:25 +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
704f9217f7
unify enum style
2021-03-18 20:55:14 +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
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
3224a33645
fix warnings
2020-09-11 23:41:09 +02:00
q66
ccb35eb1c4
fixes
2017-06-19 20:13:54 +02:00
q66
5b1baafdb3
fixes
2017-04-01 01:06:36 +02:00
q66
6b17c4594f
remove slice_until
2017-03-31 03:18:26 +02:00
q66
69b9042fdc
ostd fixes
2017-03-10 20:16:20 +01:00
q66
8343979e03
fix build after style update
2017-02-16 19:07:22 +01:00
q66
41eb8b211f
begin naming scheme rework
2017-02-13 18:11:19 +01:00
q66
58bf658409
update according to ostd
2017-01-30 19:38:11 +01:00
q66
8dc423dcaa
update according to ostd
2017-01-30 01:18:55 +01:00
q66
d14c8f8593
update to latest ostd
2017-01-25 01:57:33 +01:00
q66
58b54aff66
do not iterate argv twice
2016-10-06 20:29:07 +02:00
q66
da8120f5c8
repl cleanup
2016-10-05 21:33:59 +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
377e9d7702
throw out of the VM on errors
2016-09-15 20:55:58 +02:00
q66
b0917ade03
use type inference for shorter command funcs
2016-09-15 00:42:19 +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