Commit Graph

481 Commits (82d366366e1c9dedf2d1401cc7d603546ed55a3a)

Author SHA1 Message Date
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 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 55d5397f4f implement move behavior for cs_value
this prevents things from going horribly wrong when people
do move the values (since the implicit implementations don't
take care of handling the refcounts)
2021-03-20 04:49:47 +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 70d7e15ed5 eliminate cs_vector/cs_map, use our allocator for all state 2021-03-19 23:05:19 +01:00
Daniel Kolesa ac1af69d96 move cs_valbuf/charbuf before cs_shared_state 2021-03-19 22:54:22 +01:00
Daniel Kolesa f41462deaf move cs_allocator out of cs_shared_state 2021-03-19 22:53:42 +01:00
Daniel Kolesa b81e419db6 get rid of cs_vector in most places 2021-03-19 22:49:52 +01:00
Daniel Kolesa 0ca8561d5d add cs_valbuf 2021-03-19 22:40:11 +01:00
Daniel Kolesa 2e725771e4 eliminate remaining cs_string 2021-03-19 22:35:39 +01:00
Daniel Kolesa fece7ce769 get rid of most remaining cs_string 2021-03-19 22:32:28 +01:00
Daniel Kolesa 4e5e0f5de8 get rid of cs_string in codegen 2021-03-19 22:25:38 +01:00
Daniel Kolesa b27f8dee91 use state's allocator to manage cs_strman resources 2021-03-19 03:10:02 +01:00
Daniel Kolesa 47b87ab936 get rid of cs_string in lib_list 2021-03-19 02:55:59 +01:00
Daniel Kolesa e74d8b5bef get rid of cs_string in lib_str 2021-03-19 02:50:48 +01:00
Daniel Kolesa 5ee7e27839 add cs_charbuf (mutable buffer controlled by our allocator)
also use it in a few places
2021-03-19 02:44:29 +01:00
Daniel Kolesa 5a4cccf194 move strref impl to cs_util 2021-03-19 02:28:30 +01:00
Daniel Kolesa 08212df80f move shared state into cs_util 2021-03-19 02:27:36 +01:00
Daniel Kolesa 126d6ab2b6 use a stolen buffer for strupper/lower 2021-03-19 01:31:34 +01:00
Daniel Kolesa b42da1e56f add custom buffer allocation into string manager 2021-03-19 01:00:11 +01:00
Daniel Kolesa af1a85fb91 get rid of public format_int/float (use cs_value) 2021-03-19 00:34:12 +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 b534a6d9af get rid of some unnecessary string allocs 2021-03-19 00:01:57 +01:00
Daniel Kolesa d3ec4a47dd ditch cs_string from public headers + style fix 2021-03-18 23:56:25 +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 fb8668a508 use more stringrefs 2021-03-17 23:32:38 +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 8b7f36319d eliminate length field in cs_value 2021-03-17 21:16:25 +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 8def7ce85c intern all strings in cs_value 2021-03-17 02:47:34 +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 8c77724f88 return alias value by value 2021-03-17 00:32:25 +01:00
Daniel Kolesa 9a1b47196a require meson 0.50 2021-03-16 00:56:19 +01:00
Daniel Kolesa 5b104da85b more generic handling of warning args and default to debugoptimized 2021-03-16 00:52:23 +01:00
Daniel Kolesa 45b1535685 configure build for c++20 2021-03-16 00:50:16 +01:00
Daniel Kolesa dcae5b30b2 initial implementation of unique/interned string manager 2021-03-16 00:45:09 +01:00
T7g 6018f6b6c2
Merge pull request #1 from Croydon/readme
Update readme, .gitignore and add .gitattributes
2020-09-28 04:48:19 -04:00
Croydon 321b90937d Update .gitignore and add .gitattributes
.gitattributes is a portable solution to normalize line endings when working cross-platform
2020-09-28 07:20:23 +02:00
Croydon 4e7b7159a0 Update readme
It uses now Meson instead of a GNU Makefile
2020-09-28 07:15:04 +02:00