Daniel Kolesa
c4e311d71a
fix msvc warning
9 hours ago
Daniel Kolesa
c42e58b868
add initial test infrastructure
9 hours ago
Daniel Kolesa
de4a0c65c7
update readme
16 hours ago
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
16 hours ago
Daniel Kolesa
ad1c345401
reenable macos in CI
16 hours ago
Daniel Kolesa
a5003678da
fix build with libc++, and try using it in CI with clang
16 hours ago
Daniel Kolesa
5e9aefb52a
disable mac and mingw cross CI builds for now
apparently macos c++ stdlib is missing c++20 features (particularly
string_view doesn't seem to accept two pointers in a constructor)
and mingw is only present as gcc9 in ubuntu 20.04 (too old)
1 day ago
Daniel Kolesa
8bdb68b298
use gcc10 for linux, fix windows build script typo
1 day ago
Daniel Kolesa
f31a4f00f9
add CI infra
1 day ago
Daniel Kolesa
8114279816
fix warning with msvc
1 day ago
Daniel Kolesa
8207ef0ce3
use overloads for new var methods
1 day ago
Daniel Kolesa
b26bae3ec5
move standard library init outside state, make it never error
1 day ago
Daniel Kolesa
a2c50744da
remove public state::destroy()
1 day ago
Daniel Kolesa
e644674724
hide internal_state from all public headers
1 day ago
Daniel Kolesa
3ed7b59d0b
only store trivial types in any_value (manage strrefs manually)
2 days ago
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
2 days ago
Daniel Kolesa
7229672f56
clean up command call parsing
2 days ago
Daniel Kolesa
0ee0ebfb42
clean up the main parser path
2 days ago
Daniel Kolesa
51f09c3dfb
clean up some more parser routines
3 days ago
Daniel Kolesa
a6426c60ee
rewrite compilearg
3 days ago
Daniel Kolesa
e5cf9452f2
rewirte compileblockmain
3 days ago
Daniel Kolesa
eac137e3c8
rewrite compileblocksub
3 days ago
Daniel Kolesa
c4d39caa61
rewrite compilelookup
3 days ago
Daniel Kolesa
416c6ba8fb
do not access parser state from error
3 days ago
Daniel Kolesa
83aa8bfd07
hide bcode pointers from public api
3 days ago
Daniel Kolesa
6d6a115d0c
remove leftover junk
3 days ago
Daniel Kolesa
d2b53b174e
move all codegen stuff, make instruction vector private
3 days ago
Daniel Kolesa
05661662d2
more codegen conversions
3 days ago
Daniel Kolesa
63023f8c5e
remove parser_state::gen_main
3 days ago
Daniel Kolesa
1bc94bf5af
move some more codegen into proper place
3 days ago
Daniel Kolesa
295c905c32
more codegen utils
4 days ago
Daniel Kolesa
3790435c34
add more codegen utils
4 days ago
Daniel Kolesa
51da22be06
add ivar/fvar/svar lookup funcs in codegen
4 days ago
Daniel Kolesa
bac186a0c7
move compileblockstr/compileunescapestr logic into gen
4 days ago
Daniel Kolesa
c0fc1aa452
abstract away ugly bcode reference creation
4 days ago
Daniel Kolesa
dcd5f61748
fewer direct accesses to code vector
4 days ago
Daniel Kolesa
e5a05a3199
remove parser_state::done()
4 days ago
Daniel Kolesa
283f23394d
add more codegen utilities
4 days ago
Daniel Kolesa
5f67b205df
initial bits for separation of codegen from parser
4 days ago
Daniel Kolesa
ccb0c09d59
rename codegen_state to parser_state and move it
later commits will rewrite the parser and separate the codegen
bits into their own API
4 days ago
Daniel Kolesa
9a2de6ffd3
move include install logic outside src/
6 days ago
Daniel Kolesa
f03407400c
remove pic: true in the build
since meson will always default to pic for static libraries unless
overridden with -Db_staticpic=false, we don't want to mess with
this
6 days ago
Daniel Kolesa
34959f44f3
support -Ddefault_library=both for windows
6 days ago
Daniel Kolesa
c09613c5ea
fill in missing headers to install
6 days ago
Daniel Kolesa
3124f8a487
add a thingy in meson to guess c++ std
since meson doesn't yet support cpp_std=c++2a or c++20 for msvc++,
only gcc (and the older version we support doesn't have c++20
either), default to none and add some minimal logic which will
guess it for whatever compiler we're using
people can still override the standard manually, in which case our
guess logic will not be used
6 days ago
Daniel Kolesa
e254000f5f
readme rewrite
6 days ago
Daniel Kolesa
2de2c9b46c
remove get_raw_type from public interface
users of the library never need to know this
6 days ago
Daniel Kolesa
4da0cb54a8
use format contants in default ivar/fvar/svar handlers
6 days ago
Daniel Kolesa
f93042d7b9
add more utility methods for string_ref
1 week ago
Daniel Kolesa
e531ab3434
clean up any_value APIs for consistency
1 week ago