5fc9af5564
more debug related refactoring
2023-08-25 20:44:24 -05:00
a1c58647ba
minor CTable refactoring
2023-08-25 19:57:16 -05:00
5c3e24fc39
refactoring and cleanup
...
cosmoB_loadOSLib -> cosmoB_loadOS
2023-08-24 23:36:32 -05:00
dcf6a09dae
minor refactoring
2023-06-03 01:39:35 -05:00
e0faa14b35
implemented jump table dispatch
...
- currently only enabled on supported platforms (GNU C Compiler + Clang)
- when enabled, sped up examples/fibtest.cosmo by about 20% (avg of 11.179s prior and 8.799 after)
NOTE: malicious dumps can trivially cause crashes now by having junk function chunks
2023-06-03 01:17:28 -05:00
861607d6a8
fixed formatting
2023-06-01 22:28:07 -05:00
10c9f92a06
Merge branch 'main' of github.com:CPunch/Cosmo
2023-06-01 22:22:50 -05:00
8dfd7744c2
fixed MSVC support
2023-06-01 22:22:44 -05:00
7f7bc7c6ad
added vm.disassemble()
2023-06-01 19:04:12 -05:00
8c6ba18848
major main.c refactoring
...
- now takes command line arguments:
Usage: ./bin/cosmo [-clsr] [args]
available options are:
-c <in> <out> compile <in> and dump to <out>
-l <in> load dump from <in>
-s <in...> compile and run <in...> script(s)
-r start the repl
2023-05-28 20:52:12 -05:00
93a09698a9
minor stack fixes
2023-05-28 12:19:52 -05:00
be49ec5af5
proper error handling for dump edgecases
2023-05-28 12:16:00 -05:00
4fe437ea4e
undef macros
2023-05-28 12:03:49 -05:00
e854c5dbb3
fixed GC bug in cundump.c
2023-05-28 11:55:48 -05:00
c945c56482
these values can be defined at the top of the function
2023-05-28 00:08:28 -05:00
89d443d767
formatting changes
2023-05-28 00:03:50 -05:00
355842989b
cvm.c: added cosmoV_undump
2023-05-27 23:16:47 -05:00
45f36e6e87
cdump.c: major refactoring; various fixes
2023-05-27 23:15:58 -05:00
819e76b711
cdump.c: fix instruction and line info dumping
2023-05-27 23:15:12 -05:00
f116efa02c
started cundump.c:cosmoD_undump(); minor fixes
2023-05-25 21:12:21 -05:00
465f4d5e4a
started cdump.c:cosmoD_dump()
2023-05-25 19:41:13 -05:00
3efee51224
minor refactoring and typos
2023-05-25 19:40:15 -05:00
2836de090b
removed stale COBJ_STREAM usage
2023-05-25 18:34:39 -05:00
c8cae03604
syntax: 'var'->'let' 'function'->'func'
...
- 'var' has some weird scoping connotations with users of JS. better to change it to 'let', which will decide whether to make the variable a local or a global
- 'func' looks visually appealing lol
- some minor refactoring done in cparse.c
2023-02-09 15:58:25 -06:00
5d805e258b
minor formatting fixes
2023-02-09 12:52:36 -06:00
8df4cc65e3
removed CObjStream
2023-02-09 12:42:09 -06:00
7279623e24
added clang-format
2023-02-09 12:32:48 -06:00
6859ec98ad
Added boilerplate for CObjStream
2021-03-20 01:44:03 -05:00
057716e0d4
Added os.system() to the os.* library
2021-03-20 01:02:13 -05:00
6bc4ec6b04
Improved cosmoO_equals performance for strings
2021-02-23 11:49:57 -06:00
f92ffcecbd
Added '__equal' metamethod, slightly refactored cosmoO_equal
...
- ISTRING_EQUAL has been added
2021-02-20 12:42:13 -06:00
66d77bc54b
Refactored cosmoO_equals
...
This sets up room for the '__equal' metamethod to be added
- cosmoO_equals now requires the state to be passed
- cosmoV_equals now requires the state to be passed
- cosmoT_get now requires the state to be passed
2021-02-19 17:04:23 -06:00
afac75753f
cparse.c now throws an error on illegal statements
2021-02-19 12:47:12 -06:00
Inversion
b30616bb3c
Temporary fix for possible bug
2021-02-16 16:07:10 -08:00
Inversion
1200e2d512
Add optional custom error message to assert
2021-02-16 15:53:07 -08:00
2050359d2f
Added C99 support, refactored headers
2021-02-15 16:20:04 -06:00
7c7a2ed8d9
Added math.rad() and math.deg()
2021-02-15 14:06:43 -06:00
d1ea5c9703
Added trig. functions to the math library
2021-02-15 14:00:26 -06:00
7c6c075c2a
Added OP_POW to cdebug.c; refactored cosmoV_registerProtoObject
...
- cosmoV_registerProtoObject now walks the object list and updates the proto's for objects of the objType which have a NULL proto.
- misc. comment changes in cvm.h as well.
2021-02-13 20:08:35 -06:00
14539057aa
Added string.rep() to the string library
2021-02-13 19:07:47 -06:00
2e07715a7d
Added CMake support
...
should make integration into visual studio easier for people
2021-02-11 20:34:04 -06:00
bc43eaaa75
Minor cbaselib.c cleanup
2021-02-11 00:58:12 -06:00
Inversion
44f1674b09
Added argument type check to string.len
2021-02-10 22:24:31 -08:00
Inversion
27aedd2969
Updated baselib in accordance with cosmoV_readCString
2021-02-10 22:14:58 -08:00
Inversion
7caa696aa2
Added cosmoV_readCString for convenience
2021-02-10 22:14:31 -08:00
Inversion
2e395065f8
Add string.len to base library
2021-02-10 22:02:35 -08:00
Inversion
5b8dc30bb8
Added error to the base library
2021-02-10 21:48:41 -08:00
1539a7e676
Added power operator '^', added OP_POW
...
- added TOKEN_CARROT to clex.[ch]
2021-02-10 17:26:20 -06:00
24bbc22cd4
Minor os.read() fixes
2021-02-10 17:11:52 -06:00
cfb4df66f9
Added optional os.* library, fixed cosmoB_loadLibrary
...
- os.time() returns the UNIX Epoch time in seconds
- os.read() reads file and returns the data as a <string> object
2021-02-10 17:10:03 -06:00