Ian Piumarta
49dda1f2c4
realistic prep for standalone mode; import should work again
2 yıl önce
Ian Piumarta
21b1e91ee4
changes for fake standalone mode; import probably broken
2 yıl önce
mtardy
a1bc3ba26b
Add default error case in switch(getType()) to remove warnings of enumeration values not handled in switch
4 yıl önce
mtardy
f6388c1474
Fix indentation issues
4 yıl önce
mtardy
6e9df129dd
Add floats ( #22 )
* Add floating point numbers
* Add test-float.txt
* Remove unused ast from applyOperator parameters
* Add -lm to libs for non-Darwin fmodl
* Allow negative integer constants in the syntax
* Remove double case on Function in clone
Co-authored-by: Ian Piumarta <piumarta@nas.local>
Co-authored-by: Ian Piumarta <piumarta@gmail.com>
4 yıl önce
mtardy
cbc3e6ec89
Add factories ( #21 )
* Add Map factory and Integer draft
* Fix Integer factory
* Add map_isArray()
* Fix String factory
* Add Symbol factory
* Fix Map factory
* Add Array factory
* Add Function and Syntax factories
* Fix _checkType
* Add runtimeError for bad arguments in factory functions
* Change makeMapCapacity with malloc instead of realloc
4 yıl önce
Ian Piumarta
bc623143ca
add argument splicing (aka unpacking, aka splatting); add test-splice.txt to test argument splicing
4 yıl önce
Ian Piumarta
f070bc84c4
add allKeys, allValues; add @@ syntax to unquote and splice an array into a list of arguments or parameters
4 yıl önce
mtardy
9541a96279
Correctly add slice '[n:m]' for strings and array-like maps
4 yıl önce
Ian Piumarta
21bc3f547d
runtimeError accepts varargs; undefined members return null, undefined variables cause error
4 yıl önce
mtardy
4aadad65c9
Remove fold and use eval instead
4 yıl önce
mtardy
cc069fcc92
Fix 'control may reach end of non-void function' warning
4 yıl önce
mtardy
530e71426b
Move TYPESIG and CASE macros and undef them
4 yıl önce
mtardy
d4af735207
Add TYPESIG and CASE macros to switch between types combinations more elegantly
4 yıl önce
Ian Piumarta
993297c262
Add -g flag to turn on stats; make jb recs be allocated LIFO on C stack; reuse scopes whenever possible
4 yıl önce
Ian Piumarta
3886b9c623
Print the amount of memory allocated using k/M/G bytes
4 yıl önce
Ian Piumarta
6a297558bc
Add String() factory; instrument memory usage
4 yıl önce
mtardy
f42be7d411
Fix relations to compare more than just integers, fix semicolons to end
an expression, add for in structure, refactor apply (merge with invoke),
transform millis to microseconds, mix boxed/unboxed integers
4 yıl önce
mtardy
1ed52120bb
Add slice '[n:m]' for strings and array-like maps
4 yıl önce
mtardy
2837e6fede
Fix runtime error backtrace printing for function call
4 yıl önce
mtardy
07d1456630
Conflict resolution
4 yıl önce
mtardy
22bf3b5b1b
Add backtrace ( #14 )
4 yıl önce
mtardy
2c057a58f9
Fix circular printing, comparison and pass scope to primitives
4 yıl önce
mtardy
7ca8267244
Add printOn function and fix readEvalPrint with imports
4 yıl önce
mtardy
1a82135eab
Fix try catch mechanism and runtimeError with mrAST
4 yıl önce
mtardy
b424810127
Add try catch mechanism ( #13 )
* Add try, catch, finally in the syntax
* Add throw, try, catch, finally mechanism in the interpreter
4 yıl önce
mtardy
b51fe9f606
Add nice format for runtime errors ( #12 )
* Enhance runtime errors with file and line
* update test files
4 yıl önce
mtardy
d9364885fe
Add Throw mechanism and hierarchy in verbose mode
4 yıl önce
mtardy
33b5a12c3d
Add millis primitive
4 yıl önce
mtardy
37a048a8e7
Fix map_zip to fill with either key numbers or null values
4 yıl önce
mtardy
7eb1f4934c
Add '*' operator for string multiplication
4 yıl önce
mtardy
d96105269b
Remove unreachable protos in eval switch
4 yıl önce
mtardy
fed14057ae
Add '+' operator for string concatenation
4 yıl önce
mtardy
6187f6c657
Add GetIndex and SetIndex for strings
4 yıl önce
mtardy
80c0daceaa
Treat single characters (delimited by single quotes) as integers
4 yıl önce
mtardy
e26c5c565f
Clean some remaining comments and debugging printf
4 yıl önce
mtardy
4f86f1cf3e
Add import statements ( #10 )
* Implement a FIFO for inputs
* Add working input stack with import statement
4 yıl önce
mtardy
1f0bf64d84
Read directly from a file and/or stdin and improve error (with line and filename) at parsing time
4 yıl önce
mtardy
38ca06d6aa
Add the AST global object with all the protos attached to it for access
4 yıl önce
mtardy
c749e817cc
Rename all the protos with Titlecase
4 yıl önce
mtardy
78e17dbf35
Add syntax to extend the language via macro
4 yıl önce
mtardy
3e08cb9394
Merge binary operators into assignments
4 yıl önce
mtardy
07f07570db
Add quasiquote and unquote mechanism, add 'syntax' fixed functions and use oop as functions name
4 yıl önce
mtardy
fafec91e1e
Add name to Function struct to print them nicely
4 yıl önce
mtardy
8aa2318855
Add experimental literal ast inside programs
4 yıl önce
mtardy
0b35fd3794
Fix 'not' operator and add primitives keys and length
4 yıl önce
mtardy
d568212a6c
Fix parser 'blank' rule
4 yıl önce
mtardy
4286159da2
Many small changes to support object instanciation ( #6 )
4 yıl önce
mtardy
a0fee5b587
Add increment and decrement operators ( #5 )
4 yıl önce
mtardy
d132382ce0
Fix map creation in eval by cloning the ast node and evaluating all the values
4 yıl önce