Este site funciona melhor com JavaScript.
Página inicial
Explorar
Ajuda
Acessar
MaximeBarniaudy
/
minproto
feito fork de
piumarta/minproto
Observar
1
Favorito
0
Fork
0
Código
Issues
0
Pull requests
0
Versões
0
Wiki
Atividade
33
Commits
1
Branch
4.0 MiB
Tag:
393f937218
master
Branches
Tags
${ item.name }
Criar branch
${ searchTerm }
de 393f937218
${ noResults }
Gráfico de commits
33 Commits (393f93721843a871ebb0fad881ee41ec462ff48b)
Todos os branches
Pesquisar
Autor
SHA1
Mensagem
Data
MaximeBarniaudy
393f937218
Add Invoke and GetProp
1 ano atrás
MaximeBarniaudy
4e904d213a
Minimal grammar parsing
1 ano atrás
MaximeBarniaudy
9befc31bb3
Add an intern primitive for symbol creation
1 ano atrás
MaximeBarniaudy
f3a2b47be9
Fix range access overshadowing key access
1 ano atrás
WitherFlower
5d11b521e5
Merge range access and grammar parser changes
1 ano atrás
Ian Piumarta
c5c29bdbb0
Add release target that uses profile guided optimisation.
1 ano atrás
Ian Piumarta
5e59fa586e
Restore original benchmark size and number of repeats.
1 ano atrás
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 ano atrás
Ian Piumarta
2761c99ce2
Object.dump() uses Object.allKeys() instead of Object.keys().
1 ano atrás
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 ano atrás
Ian Piumarta
ff3dda9f83
Include recent results as comments.
1 ano atrás
Ian Piumarta
956adf81e4
Define _GNU_SOURCE to expose qsort_r().
1 ano atrás
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 ano atrás
Ian Piumarta
057733b85f
Binary operators store pointer to implementation to avoid operator selection during eval.
1 ano atrás
Ian Piumarta
2f164a3100
Use spaces instead of tabs to preserve visual alignment in broken tools.
1 ano atrás
Ian Piumarta
30facb810c
Add auto increment/decrement and assignment operators.
1 ano atrás
Ian Piumarta
4d570df59e
ForToFrom performs update step after continue.
1 ano atrás
Ian Piumarta
5ca296eb47
Add return, break, and continue.
1 ano atrás
Ian Piumarta
5b1ec1d738
Test user-defined AST nodes.
1 ano atrás
Ian Piumarta
6ba66daa8b
Test user-defined AST nodes.
1 ano atrás
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 ano atrás
Ian Piumarta
82a4828985
Make sieve be local, not global.
1 ano atrás
Ian Piumarta
4a959a124f
Accessing an undefined variable causes a fatal error.
1 ano atrás
Ian Piumarta
ddff3e48e8
Add "let name = value, ... ;" to create local variables.
1 ano atrás
Ian Piumarta
a81312c139
Ignore more irrelevant stuff.
1 ano atrás
Ian Piumarta
4a3abfc8c1
Remove makeForm(). Use Closure.fixed property to change assert/refute closures into a special forms.
1 ano atrás
Ian Piumarta
3c992f4a13
Remove primitive makeForm (because Closure.fixed is now accessibe from userland).
1 ano atrás
Ian Piumarta
72753c6725
All fields of Lambda and Closure are accessible via Object_{get,put}.
1 ano atrás
Ian Piumarta
48f7707b56
Ignore irrelevant files.
1 ano atrás
Ian Piumarta
7d3350b71b
Run test on file, not on stdin.
1 ano atrás
Ian Piumarta
bc3aae1dcb
Block_eval() executes its body in a new environment
1 ano atrás
Ian Piumarta
ec29069aa4
import files
1 ano atrás
piumarta
b5521793cd
Initial commit
1 ano atrás