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 роки тому
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 роки тому
Ian Piumarta
f070bc84c4
add allKeys, allValues; add @@ syntax to unquote and splice an array into a list of arguments or parameters
4 роки тому
mtardy
9541a96279
Correctly add slice '[n:m]' for strings and array-like maps
4 роки тому
Ian Piumarta
5e7538a2f7
Use safe comparisons in oopcmp
4 роки тому
Ian Piumarta
0156ca00f7
Allocate true object sizes instead of sizeof(union object)
4 роки тому
mtardy
530e71426b
Move TYPESIG and CASE macros and undef them
4 роки тому
mtardy
d4af735207
Add TYPESIG and CASE macros to switch between types combinations more elegantly
4 роки тому
Ian Piumarta
1cee17ea17
Add flags to Map with MAP_ENCLOSED bit; add pool pointer to Map for scope free list
4 роки тому
Ian Piumarta
ce8ac5975f
Grow maps exponentially instead of linearly
4 роки тому
Ian Piumarta
6a297558bc
Add String() factory; instrument memory usage
4 роки тому
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 роки тому
mtardy
1ed52120bb
Add slice '[n:m]' for strings and array-like maps
4 роки тому
mtardy
2c057a58f9
Fix circular printing, comparison and pass scope to primitives
4 роки тому
mtardy
7ca8267244
Add printOn function and fix readEvalPrint with imports
4 роки тому
mtardy
1a82135eab
Fix try catch mechanism and runtimeError with mrAST
4 роки тому
mtardy
b51fe9f606
Add nice format for runtime errors ( #12 )
* Enhance runtime errors with file and line
* update test files
4 роки тому
mtardy
7eb1f4934c
Add '*' operator for string multiplication
4 роки тому
mtardy
4e94a2d382
Fix string_concat
4 роки тому
mtardy
fed14057ae
Add '+' operator for string concatenation
4 роки тому
mtardy
78e17dbf35
Add syntax to extend the language via macro
4 роки тому
mtardy
07f07570db
Add quasiquote and unquote mechanism, add 'syntax' fixed functions and use oop as functions name
4 роки тому
mtardy
fafec91e1e
Add name to Function struct to print them nicely
4 роки тому
mtardy
3ee4fed8f3
Fix isHidden and add map_allkeys
4 роки тому
mtardy
17a457e18f
Fix map_print for empty map
4 роки тому
mtardy
192ad4de7b
Add map_keys and map_values methods that skip hidden symbols inside maps
4 роки тому
mtardy
2128d6abf9
Print error in case of non-integer in arithmetic operation
4 роки тому
mtardy
8e2badb3e9
Add return, break, continue statements with setjmp
4 роки тому
mtardy
dc31fd1dc4
Convert tabs to spaces and fix indentation issues
4 роки тому
mtardy
6d20596796
Add for loop and switch statement
4 роки тому
mtardy
614bb8225b
Add return
4 роки тому
mtardy
25afb2c964
Bug fix integer tag optimization
4 роки тому
mtardy
e4435044d3
Optimizing integers
4 роки тому
mtardy
79144dfebb
Move statement rule and fix identation
4 роки тому
mtardy
ecdde3c52e
Convert tabs to spaces and fix indentation issues
4 роки тому
mtardy
72c66c9995
Add unary, binary, ternary operator, while and semicolons as statement separator
4 роки тому
mtardy
75c1e685cf
Add closure and optimize map_search for arrays
4 роки тому
mtardy
f8078c49d5
Add draft of map_get for array-like access optimization
4 роки тому
mtardy
34b33bf34b
Add function parameters support with simplistic local scope
4 роки тому
mtardy
85854f22cf
Add simplistic function definition
4 роки тому
mtardy
10fb7089b4
Add read node
4 роки тому
mtardy
d92527ec1b
Build and eval the AST for most binary operators
4 роки тому
mtardy
b0f59db5cf
Add Objects with prototypes
4 роки тому
mtardy
8957b242ad
Fix symbol table
4 роки тому
mtardy
73fc6a9e08
Remove Symbol's value and defined and store them in Map KV
4 роки тому
mtardy
e7ce81282f
Add assert check on key in map_get
4 роки тому
mtardy
38128272b7
map_insert and map_set return value inserted instead of whole map
4 роки тому
mtardy
24949bad35
Add a scope parameter in intern function
4 роки тому
mtardy
5962b6ce40
Fix a parenthesis mistake in memmove len arg when inserting or deleting in a Map
4 роки тому
mtardy
93633e4d4c
Remove table object, replace it with a 'globals' map
4 роки тому