0e730b9c51
Added svg to README, whitelisted commits only effecting the binary
2021-03-16 15:05:20 -05:00
bff2799bb6
Added AppVeyor CI
2021-03-16 14:54:44 -05:00
07ca82f968
Added '__equal' metamethod docs
2021-02-24 12:52:31 -06:00
b545e8e5e3
Added another example script 'compare.comso'
...
- This stresses the table implementation as well as cosmoV_equals
2021-02-23 11:50:41 -06:00
55e6453589
Improved cosmoO_equals performance for strings
2021-02-23 11:49:57 -06:00
c83dca2ab2
Added '__equal' metamethod, slightly refactored cosmoO_equal
...
- ISTRING_EQUAL has been added
2021-02-20 12:42:13 -06:00
3890c9dd1e
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
40739e9bea
cparse.c now throws an error on illegal statements
2021-02-19 12:47:12 -06:00
Inversion
1eec23035f
Temporary fix for possible bug
2023-11-03 22:55:19 -05:00
Inversion
c0274d1d77
Update standard library documentation
2023-11-03 22:55:14 -05:00
Inversion
fec26ac380
Add optional custom error message to assert
2023-11-03 22:55:09 -05:00
35466f691f
Added C99 support, refactored headers
2021-02-15 16:20:04 -06:00
71c8dc7e34
Added basic standard library docs
2021-02-15 14:25:08 -06:00
7a6e00be41
Added math.rad() and math.deg()
2021-02-15 14:06:43 -06:00
14b091b691
Added trig. functions to the math library
2021-02-15 14:00:26 -06:00
5c71efbe40
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
1fff6c7fe9
Added string.rep() to the string library
2021-02-13 19:07:47 -06:00
1a96e411f2
Minor Makefile fix
2021-02-11 20:35:42 -06:00
fdd0d19308
Added CMake support
...
should make integration into visual studio easier for people
2021-02-11 20:34:04 -06:00
33da88a18a
Minor cbaselib.c cleanup
2021-02-11 00:58:12 -06:00
Inversion
50b19e9f4f
Added argument type check to string.len
2023-11-03 22:55:03 -05:00
Inversion
472a0ea4c1
Updated baselib in accordance with cosmoV_readCString
2023-11-03 22:54:56 -05:00
Inversion
76574c7860
Added cosmoV_readCString for convenience
2023-11-03 22:54:51 -05:00
Inversion
8b931fa4a7
Add string.len to base library
2023-11-03 22:54:45 -05:00
Inversion
ce844dc110
Added error to the base library
2023-11-03 22:53:59 -05: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
7db0782991
Added support for multiline comments using '/*' and '*/'
2021-02-10 15:39:36 -06:00
78e21a0f28
refactored cosmoV_set & cosmoV_get, renamed COSMO_TOBJ->COSMO_TREF
...
also changed print() to print raw primitives instead of generating a <string> needlessly. helped performance immensely in scripts like `examples/increment.cosmo`
2021-02-07 14:32:39 -06:00
0d344f65df
renamed cosmoV_pushObj->cosmoV_pushRef & cosmoV_newObj->cosmoV_newRef
2021-02-07 14:05:53 -06:00
8d37f1f243
Renamed cosmoV_readObj to cosmoV_readRef to reduce ambiguity
...
also fixed several typos
2021-02-07 14:00:00 -06:00
5faa40bdef
Minor CObj* refactor, added cosmoO_lock and cosmoO_unlock
...
- cosmoO_getUser* and cosmoO_setUser* no longer take the `CState*` argument
- if a set is performed on a locked object an error is thrown
2021-02-06 18:51:47 -06:00
8151cde6f3
Refactored cosmo_pushFString
...
- remove %t support
- added length specifier to %s
2021-02-06 16:01:59 -06:00
2f9ff08cd3
Added object.* library; added cosmoO_isDescendant to cobj.[ch]
...
The object library includes:
- __proto getter and setter tables (might make an option to lock __proto in the future)
- ischild()
cosmoB_loadDebug was renamed to cosmoB_loadVM and now only loads the VM library
2021-02-03 13:43:26 -06:00
88d41d7db8
Fixed minor GC freeze bug in pcall()
2021-02-03 13:03:24 -06:00
ff1804ca36
Removed .charAt(), added .char() & .byte()
...
- also minor comment fixes in cobj.[ch]
2021-02-01 21:07:43 -06:00
3a28de6b2a
Added 'local' support for 'proto', fixed DOS bug in proto parser
2021-01-31 12:06:20 -06:00
300ffb89e9
Added basic math.* library, fixed number lexer edgecase
...
- also added vm.collect() to the vm library
2021-01-29 15:45:24 -06:00
cff26574bb
Fixed table iteration bug, added vm.globals to debug lib
2021-01-25 16:14:51 -06:00
cd6744ab65
Minor refactor, added vm.* library
...
- cosmoV_pushObj() has been added
- cbaselib.h has been cleaned up a bit
2021-01-25 15:04:16 -06:00
0be6e7dff1
Minor OP_NEWARRAY fix
2021-01-24 20:33:37 -06:00
336e57e269
Added basic control.md docs
2021-01-24 20:26:54 -06:00
e38e8f335f
Added operator docs
2021-01-24 12:28:53 -06:00
c82a01c968
Minor refactoring, fixed 'or' and 'and' logical operators
2021-01-24 12:17:46 -06:00
e699005a74
Added datatype docs
2021-01-24 12:00:21 -06:00
fd1481fa43
Minor VM refactor + GC bug fix
...
The VM now respects metamethods from proto objects connected to tables. Also the CState is frozen while being instantiated.
2021-01-23 17:16:45 -06:00
0ad0df5fba
Added '__tonumber' metamethod
2021-01-23 15:30:30 -06:00
7c92749e0d
Added '__count' metamethod to objects
2021-01-22 15:22:30 -06:00
6b407534c0
basic docs
2021-01-20 23:29:05 -06:00