Roberto Ierusalimschy
45cf24485d
useless #include.
1996-02-14 15:25:04 -03:00
Roberto Ierusalimschy
0f4903a5d7
new header "lex.h".
1996-02-13 14:30:39 -03:00
Roberto Ierusalimschy
41259bff31
BIG CHANGE: new data structure for constants, strings and globals, using
...
an array of hash tables for all them.
1996-02-12 15:32:40 -03:00
Roberto Ierusalimschy
5a3a1fe458
debug interface functions to manipulated local variables:
...
"lua_getlocal" and "lua_setlocal".
1996-02-07 16:10:27 -02:00
Roberto Ierusalimschy
1431b52e76
improve of compiling error messages.
1996-02-05 11:26:01 -02:00
Roberto Ierusalimschy
2998049f51
local variable stack needs only the name of the variable (TreeNode);
...
this way is simpler and faster than old way.
1996-01-23 15:50:29 -02:00
Roberto Ierusalimschy
24ccc7c038
correction of some order dependencies in debug code.
1996-01-22 16:39:37 -02:00
Roberto Ierusalimschy
9d9f9c48ff
local variables may appear inside blocks in main code.
1995-10-26 15:02:50 -02:00
Roberto Ierusalimschy
15d48576ea
functions now may be declared with any "var" as a name;
...
therefore they do not have a "baptism" name.
Changes in debug API to acomodate that.
1995-10-26 12:21:56 -02:00
Roberto Ierusalimschy
39b071f7b1
new syntax for function declarations: "function a.x () ... "
...
new semantics for function declarations: function f () is valid only
at run-time.
1995-10-25 12:33:25 -02:00
Roberto Ierusalimschy
9efc257d9d
new method to keep debug line information: current line is stored on the
...
Lua stack, just below (new) base, with tag LUA_T_LINE.
SETLINE opcodes are generated by lex.
1995-10-25 11:05:51 -02:00
Roberto Ierusalimschy
2cffb08a5c
new style for debug information about functions: no more SETFUNCTION
...
opcodes. When a function is called, its entry in the stack is marked with
LUA_T_(C)MARK, so function 'luaD_stackedfunction' can find it if
needed.
Functions now have their file names in the headers, so there is no need
of 'addfile' and the like.
1995-10-17 09:58:41 -02:00
Roberto Ierusalimschy
68f337dfa6
Garbage collection of functions + header structure for functions
1995-10-04 14:13:02 -03:00
Roberto Ierusalimschy
97b2fd1ba1
syntax for {...;...} is more flexible now.
1995-06-08 16:47:28 -03:00
Waldemar Celes
8156604823
run-time stack now is controled at run time, instead of
...
compilation time.
1995-04-11 14:56:30 -03:00
Roberto Ierusalimschy
f4591397da
strdup is done via mem.c to control its memory allocation
1995-01-14 13:40:26 -02:00
Waldemar Celes
a8220feed2
bytecodes are indexed by integers, not Words, to allow bigger code on 32 bit machines
1994-12-27 18:41:11 -02:00
Waldemar Celes
8bc4b0d741
routines are defined before rules, to allow correct compilation with bison
1994-12-27 18:04:29 -02:00
Roberto Ierusalimschy
8cb8594a3b
better control of integer types and their limits
1994-12-20 19:20:36 -02:00
Roberto Ierusalimschy
ce4fb88b34
opcode PUSHSELF has a parameter that indicates the method to be called
1994-12-06 12:27:18 -02:00
Roberto Ierusalimschy
fbfa1cbe9b
erased function yywrap (nobody used it)
1994-11-25 17:24:57 -02:00
Roberto Ierusalimschy
e901e0feae
modifications to avoid warnings when compiling yacc code
1994-11-23 12:39:52 -02:00
Roberto Ierusalimschy
68d1091b79
no more unary '+'
1994-11-22 13:50:46 -02:00
Roberto Ierusalimschy
aa4cd37adf
small bug corrected
1994-11-17 19:11:37 -02:00
Roberto Ierusalimschy
9bee23fd05
listing did not list POWOP
1994-11-17 17:09:46 -02:00
Roberto Ierusalimschy
3bd0f9e211
uses new memory module (mem.c).
...
small changes in seting debug line.
if and elseif unified in a outine 'codeIf'
1994-11-17 16:59:06 -02:00
Roberto Ierusalimschy
86b35cf4f6
unification of symbol tree and constant tree
1994-11-14 19:40:14 -02:00
Roberto Ierusalimschy
5e60b961de
small changes to avoid shadowing
1994-11-13 12:54:18 -02:00
Roberto Ierusalimschy
b8bfa9628d
because lua_error does a longjmp, there is no need to a variable
...
'err'.
lua_parse has a different interface, to allow the free of the main
block even if compilation fails.
small changes in the debug system.
1994-11-09 16:07:38 -02:00
Roberto Ierusalimschy
0a5dce5704
new opcodes for '>' and '>='
1994-11-06 13:35:04 -02:00
Roberto Ierusalimschy
2651afc455
RESET is generated at codereturn.
1994-11-03 20:32:42 -02:00
Roberto Ierusalimschy
fbf887ec2b
new way to call functions, plus several small changes. This is
...
a temporary version!
1994-11-02 18:30:53 -02:00
Roberto Ierusalimschy
f53460aab9
CREATEARRAY now has an argument, the size of the array to create.
1994-11-01 16:25:20 -02:00
Roberto Ierusalimschy
fb23cd2e26
deletion of 'include mm.h'
1994-10-21 17:00:12 -02:00
Waldemar Celes
424db1db0c
power operator (^).
...
no more contructors (@).
methods can be called on indexed variables.
fixed debuging information.
1994-10-17 17:05:32 -02:00
Waldemar Celes
ceaaa0cca8
Correcao do tratamento de erro reportado dentro de uma funcao.
1994-10-11 11:38:17 -03:00
Waldemar Celes
87dded9363
Mudancas na sintaxe para a versao 2.0. Igual relacional passa
...
a ser ==, tiramos o colchete na criacao de tabelas usando apenas
chaves (podendo fazer inicializacao mista). O caracter @ so' deve
estar presente quando se tem construtores associados.
/
1994-10-11 10:02:39 -03:00
Waldemar Celes
41fd23287a
Implementacao da definicao e chamada de METODOS.
1994-08-05 16:31:09 -03:00
Waldemar Celes
b1e9b37883
Implementacao de funcoes para tratar Lua function em C e
...
correcoes de bugs nas tabelas dinamicas.
1994-08-03 11:15:46 -03:00
Waldemar Celes
493d718b7f
Uso de arvores binarias para armazenar nomes e realocacao dinamica
...
de tabelas (pilhas, hashtable, globais, codigo, etc.)
1994-07-19 18:27:18 -03:00
Waldemar Celes
f8fb7b3947
Alteracao do tipo da variavel "pc" na compilacao, passando
...
a ser indice e nao mais ponteiro.
1994-04-20 13:22:21 -03:00
Waldemar Celes
14b6ab3540
Nova estrategia de alocacao de buffers para codigo intermediario.
1994-04-19 16:06:15 -03:00
Waldemar Celes
3ee5e71d0b
Correcao da funcao PrintCode
1994-04-15 18:30:12 -03:00
Waldemar Celes
c77d27afa2
O token NAME deixa de estar associado a um indice da tabela de
...
simbolos e passa a conter o ponteiro da string yytext.
Recebido o token NAME, decide-se entre um simbolo ou uma constante.
1994-04-15 16:02:04 -03:00
Waldemar Celes
8ca980966c
Alteracao para retirar codificacao de NOP's, substituindo
...
pela utilizacao de "union" com "chars" para codificar Word e float.
Observa-se que foram realizados testes antes da alteracao e constatou-se
que do bytecode anteriormente gerado, NOP representava de 10 a 13% do
total de bytes do codigo. Esta percentagem chegava ate' a 20% na caso
de descricao de metafile utilizando Lua.
1994-04-13 18:37:20 -03:00
Waldemar Celes
ea1a7a6b27
Acrescentar o gerenciador de memoria "mm" e corrigir um bug pois
...
no novo "lex" o token FUNCTION nao tem valor associado.
1994-03-28 12:14:54 -03:00
Roberto Ierusalimschy
7f3d01c200
otimizacao do codigo para construtores.
...
correcao do tamanho do buffer de codigo.
1994-02-13 18:38:20 -02:00
Roberto Ierusalimschy
019aa98f80
correcao de bug em constantes (rotina code_number) entre
...
2 bytes e 4 bytes.
1993-12-28 14:42:29 -02:00
Roberto Ierusalimschy
7f8a7e16cd
criacao do token WRONGTOKEN, necessario para o novo analizador lexico
1993-12-22 19:19:23 -02:00
Waldemar Celes
93683d530d
LUA YACC syntax and semantics
1993-12-17 16:53:07 -02:00