MaximeBarniaudy
|
792cbb2ea6
|
Add missing evals to bounds of ForFromTo loop
|
пре 1 година |
MaximeBarniaudy
|
39058765cc
|
parser circularity
|
пре 1 година |
MaximeBarniaudy
|
744cddfc6d
|
dotdot got lost in merging
|
пре 1 година |
MaximeBarniaudy
|
75f5b6a470
|
Add Invoke and GetProp
|
пре 1 година |
MaximeBarniaudy
|
132b7a2381
|
Minimal grammar parsing
|
пре 1 година |
MaximeBarniaudy
|
5f685fde49
|
Add an intern primitive for symbol creation
|
пре 1 година |
MaximeBarniaudy
|
3b5e25f179
|
Fix range access overshadowing key access
|
пре 1 година |
WitherFlower
|
1a097f8642
|
Merge range access and grammar parser changes
|
пре 1 година |
Ian Piumarta
|
cd992e141e
|
Include profile guided optimisation workload.
|
пре 1 година |
Ian Piumarta
|
f75c06ca3e
|
Target minproto-opt built with TYPECODES and DELOPT enabled. Target release profiles with -O to disable backtrace.
|
пре 1 година |
Ian Piumarta
|
09c41142f3
|
<type>.eval methods are installed in all built-in object types when TYPECODES=1. println() prints object properties in alphabetical order.
|
пре 1 година |
Ian Piumarta
|
c5c29bdbb0
|
Add release target that uses profile guided optimisation.
|
пре 1 година |
Ian Piumarta
|
5e59fa586e
|
Restore original benchmark size and number of repeats.
|
пре 1 година |
Ian Piumarta
|
4ac12f91c5
|
Add symbols #O, #d, #v and Symbol.setop() primitive. Add primitive method Symbol.setopt(N) to set command-line option at runtime. Add primitive method Symbol.defined() to test if a variable name has been defined. Overload primitive "+" to concatenate strings. Add stack of namespaces, initialised to empty object. refvar() and getvar() search namespaces, from most to least recent, when looking for global variables. setvar() always defines globals in the most recent namespace regardless of any existing shadowed definitions. Make OBJ::NAME a synonym for OBJ.NAME except that OBJ::NAME() applies a function whereas OBJ.NAME() invokes method NAME on OBJ. Add primitive error() to print source location, error message, and backtrace.
|
пре 1 година |
Ian Piumarta
|
2761c99ce2
|
Object.dump() uses Object.allKeys() instead of Object.keys().
|
пре 1 година |
Ian Piumarta
|
31e6d2ff3d
|
Primitives have correct names. Primitive Object.keys() returns properties that do not begin with "__". Add method Object.allKeys() that returns properties that do not begin with "__". Add method Object.sorted() to sort indexable elements. Add function sorted() for String and Object. Relations do not consider strings and symbols to be comparable. Printing strings does not include quotation marks at indentation levels 0 and 1. Printing strings escapes control characters at indentation levels other than 0 and 1. Rename SetVar.expr to SetVar.value to be consistent with SetProp and SetArray. Add RefVar, RefProp, RefArray that compute address of assignable value. Add Binops for autoincrement and assignment operators. Any expression can be the subject of increment or assignment operator. Enforce lvalue for increment and assignment operators by semanic check, not in syntax. String literals can contain escaped quotation marks. Keyword:value pairs in parameter lists provide arbitray expressions as default parameter values. Evaluate and assign default parameters values in apply().
|
пре 1 година |
Ian Piumarta
|
ff3dda9f83
|
Include recent results as comments.
|
пре 1 година |
Ian Piumarta
|
956adf81e4
|
Define _GNU_SOURCE to expose qsort_r().
|
пре 1 година |
Ian Piumarta
|
9cc8c3e572
|
Top-level expressions use the value of symbol __globals__ as the base environment instead of nil. Fix off-by-1 error in nlrPush(). Object.keys() returns keys in alphabetical order.
|
пре 1 година |
Ian Piumarta
|
057733b85f
|
Binary operators store pointer to implementation to avoid operator selection during eval.
|
пре 1 година |
Ian Piumarta
|
2f164a3100
|
Use spaces instead of tabs to preserve visual alignment in broken tools.
|
пре 1 година |
Ian Piumarta
|
30facb810c
|
Add auto increment/decrement and assignment operators.
|
пре 1 година |
Ian Piumarta
|
4d570df59e
|
ForToFrom performs update step after continue.
|
пре 1 година |
Ian Piumarta
|
5ca296eb47
|
Add return, break, and continue.
|
пре 1 година |
Ian Piumarta
|
5b1ec1d738
|
Test user-defined AST nodes.
|
пре 1 година |
Ian Piumarta
|
6ba66daa8b
|
Test user-defined AST nodes.
|
пре 1 година |
Ian Piumarta
|
57fe021082
|
All symbols created with UNDEFINED_TYPECODE by default. AST nodes with undefined typecode are evaluated by invoking the method __eval__ on the node. Typecode is looked up in the immediate delegate of a node only. Object.__eval__() is primitive and returns self.
|
пре 1 година |
Ian Piumarta
|
82a4828985
|
Make sieve be local, not global.
|
пре 1 година |
Ian Piumarta
|
4a959a124f
|
Accessing an undefined variable causes a fatal error.
|
пре 1 година |
Ian Piumarta
|
ddff3e48e8
|
Add "let name = value, ... ;" to create local variables.
|
пре 1 година |
Ian Piumarta
|
a81312c139
|
Ignore more irrelevant stuff.
|
пре 1 година |
Ian Piumarta
|
4a3abfc8c1
|
Remove makeForm(). Use Closure.fixed property to change assert/refute closures into a special forms.
|
пре 1 година |
Ian Piumarta
|
3c992f4a13
|
Remove primitive makeForm (because Closure.fixed is now accessibe from userland).
|
пре 1 година |
Ian Piumarta
|
72753c6725
|
All fields of Lambda and Closure are accessible via Object_{get,put}.
|
пре 1 година |
Ian Piumarta
|
48f7707b56
|
Ignore irrelevant files.
|
пре 1 година |
Ian Piumarta
|
7d3350b71b
|
Run test on file, not on stdin.
|
пре 1 година |
Ian Piumarta
|
bc3aae1dcb
|
Block_eval() executes its body in a new environment
|
пре 1 година |
Ian Piumarta
|
ec29069aa4
|
import files
|
пре 1 година |
piumarta
|
b5521793cd
|
Initial commit
|
пре 1 година |