Roberto Ierusalimschy
|
01b00cc292
|
better control over extensions of char/short to int
|
2000-11-30 16:50:47 -02:00 |
|
Roberto Ierusalimschy
|
fc7b167ae0
|
BUG: parser does not accept a ;' after a return'
|
2000-11-29 09:57:42 -02:00 |
|
Roberto Ierusalimschy
|
e2b6b7de1b
|
details
|
2000-10-27 09:39:52 -02:00 |
|
Roberto Ierusalimschy
|
e323338fd0
|
`nlineinfo' must include end flag.
|
2000-10-10 17:51:15 -02:00 |
|
Roberto Ierusalimschy
|
dad808a73a
|
new way to count `nblocks' for GC (try to count bytes).
|
2000-09-29 09:42:13 -03:00 |
|
Roberto Ierusalimschy
|
282ab366f4
|
bug: parser overwrites semantic information when looking ahead
|
2000-09-27 14:41:58 -03:00 |
|
Roberto Ierusalimschy
|
eb822c314a
|
macros to do jumps
|
2000-09-20 14:57:08 -03:00 |
|
Roberto Ierusalimschy
|
100bfec39a
|
new implementation for `next'
|
2000-08-31 11:08:27 -03:00 |
|
Roberto Ierusalimschy
|
c85162be27
|
new way to store local-variable information.
|
2000-08-22 14:44:17 -03:00 |
|
Roberto Ierusalimschy
|
44eb7d91ac
|
comments
|
2000-08-15 15:28:48 -03:00 |
|
Roberto Ierusalimschy
|
58453dc1e1
|
small bug in symbolic execution
|
2000-08-14 14:46:27 -03:00 |
|
Roberto Ierusalimschy
|
e238efc536
|
default now is multi-state
|
2000-08-09 16:16:57 -03:00 |
|
Roberto Ierusalimschy
|
5f22f8961c
|
better code for unary/binary operators
|
2000-08-09 11:49:13 -03:00 |
|
Roberto Ierusalimschy
|
a7c1390ffa
|
syntax "function foo (...)" can be nested
|
2000-08-08 17:48:55 -03:00 |
|
Roberto Ierusalimschy
|
0802a9df9e
|
no more options for debug information: it is always on
|
2000-08-08 17:42:07 -03:00 |
|
Roberto Ierusalimschy
|
f90bc248b3
|
new structure for line information
|
2000-08-08 15:26:05 -03:00 |
|
Roberto Ierusalimschy
|
cfba572076
|
remove dummy argument in LUA_ASSERT
|
2000-06-30 11:35:17 -03:00 |
|
Roberto Ierusalimschy
|
014a09c509
|
better error messages
|
2000-06-28 17:21:06 -03:00 |
|
Roberto Ierusalimschy
|
b622282973
|
local is valid only after adjust
|
2000-06-28 14:06:07 -03:00 |
|
Roberto Ierusalimschy
|
afef009fce
|
new version of debug system
|
2000-06-26 16:28:31 -03:00 |
|
Roberto Ierusalimschy
|
b69e712713
|
new way to generate SETLINEs
|
2000-06-21 15:13:56 -03:00 |
|
Roberto Ierusalimschy
|
83e3ec0117
|
no more labels
|
2000-06-19 15:26:23 -03:00 |
|
Roberto Ierusalimschy
|
feb2083730
|
better control of source name
|
2000-06-19 15:05:14 -03:00 |
|
Roberto Ierusalimschy
|
1de5587184
|
`lua.h' is included before any other Lua header file
|
2000-06-12 10:52:05 -03:00 |
|
Roberto Ierusalimschy
|
dbfb810267
|
cleansing of lparser.c
|
2000-06-05 11:56:18 -03:00 |
|
Roberto Ierusalimschy
|
7e30900def
|
better field name
|
2000-05-30 16:00:31 -03:00 |
|
Roberto Ierusalimschy
|
58fbdc76d5
|
better implementation for looh-ahead
|
2000-05-25 15:59:59 -03:00 |
|
Roberto Ierusalimschy
|
a301304612
|
accepts `$debug' in the middle of a function.
|
2000-05-25 15:26:42 -03:00 |
|
Roberto Ierusalimschy
|
677313da32
|
bug: record-constructor starting with an upvalue name gets an error
|
2000-05-24 15:04:17 -03:00 |
|
Roberto Ierusalimschy
|
ef62b340e0
|
code cleaner for 16 bits.
|
2000-05-24 10:54:49 -03:00 |
|
Roberto Ierusalimschy
|
5c2dd7a9e0
|
array `luaK_opproperties' keeps delta stack and mode for each opcode
|
2000-05-22 15:44:46 -03:00 |
|
Roberto Ierusalimschy
|
93d93a0bfb
|
first implementation of `for' over tables
|
2000-05-15 16:48:04 -03:00 |
|
Roberto Ierusalimschy
|
843f84f4ce
|
first element in a list constructor is not adjusted to one value.
|
2000-05-12 15:12:04 -03:00 |
|
Roberto Ierusalimschy
|
330e51bed3
|
string hash uses one single hash table
|
2000-05-10 13:33:20 -03:00 |
|
Roberto Ierusalimschy
|
35a6ed2838
|
detail (error message)
|
2000-05-08 15:46:34 -03:00 |
|
Roberto Ierusalimschy
|
c31f02948f
|
[C++ Warning] lparser.c(326): W8066 Unreachable code.
[C++ Warning] lparser.c(486): W8004 'nargs' is assigned a value that is never used.
|
2000-04-27 14:39:56 -03:00 |
|
Roberto Ierusalimschy
|
f9cf402fbd
|
first implementation of FOR
|
2000-04-12 15:57:19 -03:00 |
|
Roberto Ierusalimschy
|
0433e42023
|
no more repeat ... end.
|
2000-04-11 15:37:18 -03:00 |
|
Roberto Ierusalimschy
|
0810bc707f
|
new syntax: |label|
|
2000-04-10 16:21:14 -03:00 |
|
Roberto Ierusalimschy
|
54dd5cc7fd
|
reorganization of lcode.c
|
2000-04-07 16:35:20 -03:00 |
|
Roberto Ierusalimschy
|
031978798c
|
more optimizations
|
2000-04-07 10:13:11 -03:00 |
|
Roberto Ierusalimschy
|
d615e78e08
|
new optimization: jumps to jumps
|
2000-04-06 14:36:52 -03:00 |
|
Roberto Ierusalimschy
|
22329e4cdf
|
implementation of BREAK
|
2000-04-05 14:51:58 -03:00 |
|
Roberto Ierusalimschy
|
3e45496295
|
syntactical details
|
2000-04-03 10:44:55 -03:00 |
|
Roberto Ierusalimschy
|
a69356e9e0
|
no more special cases for closures with 0 upvalues (performance is the same,
memory use a little higher, code much simpler).
|
2000-03-29 17:19:20 -03:00 |
|
Roberto Ierusalimschy
|
213e9febc8
|
limits now are in `llims.n'
|
2000-03-24 14:26:08 -03:00 |
|
Roberto Ierusalimschy
|
415ee1a24f
|
SETLINEs for reserved words, too.
|
2000-03-24 09:17:53 -03:00 |
|
Roberto Ierusalimschy
|
1157c2a7e4
|
better(?) treatment for SETLINE + while optimization is too complex for
only 3% of maximum improvement.
|
2000-03-20 16:15:37 -03:00 |
|
Roberto Ierusalimschy
|
3860c5934e
|
details.
|
2000-03-15 17:50:33 -03:00 |
|
Roberto Ierusalimschy
|
f0b697e01c
|
details
|
2000-03-13 17:37:16 -03:00 |
|
Roberto Ierusalimschy
|
73aa465a8e
|
some name changes
|
2000-03-10 15:37:44 -03:00 |
|
Roberto Ierusalimschy
|
e3cf93ddb6
|
first implementation of "threaded code" for boolean operations
|
2000-03-09 10:57:37 -03:00 |
|
Roberto Ierusalimschy
|
88b306f495
|
some optimizations
|
2000-03-08 21:19:22 -03:00 |
|
Roberto Ierusalimschy
|
563de491be
|
a better way to control optimizations.
|
2000-03-04 17:18:15 -03:00 |
|
Roberto Ierusalimschy
|
61f97a8ace
|
maybe a concat right associative allows some optimizations...
|
2000-03-03 17:29:25 -03:00 |
|
Roberto Ierusalimschy
|
d1ea38580a
|
change of code generation design (independent functions for each opcode)
|
2000-03-03 15:53:17 -03:00 |
|
Roberto Ierusalimschy
|
3c9d999424
|
many details (most by lhf).
|
2000-03-03 11:58:26 -03:00 |
|
Roberto Ierusalimschy
|
f7840a3e0b
|
new algorithm to parse expressions + distribution of code between lparser
and lcode.
|
2000-03-03 09:33:59 -03:00 |
|
Roberto Ierusalimschy
|
3bc925138e
|
first version of code optimizer
|
2000-02-22 11:31:43 -02:00 |
|
Roberto Ierusalimschy
|
3afe85b2ce
|
new version for INSTRUCTION formats
|
2000-02-14 14:51:08 -02:00 |
|
Roberto Ierusalimschy
|
52aad0ab59
|
removing implementation for better error messages (must rethink it...)
|
2000-02-11 14:52:54 -02:00 |
|
Roberto Ierusalimschy
|
1f691a4fcd
|
renaming of some opcodes and fields
|
2000-01-28 14:53:00 -02:00 |
|
Roberto Ierusalimschy
|
d83c2a8455
|
performance details.
|
2000-01-25 16:44:21 -02:00 |
|
Roberto Ierusalimschy
|
d11e5adf55
|
`const' array in protos breaked in 3 arrays (for strings, numbers, and
prototypes).
|
2000-01-25 11:57:18 -02:00 |
|
Roberto Ierusalimschy
|
62787f1b1f
|
`exp' is "reserved word" in Visual-C++ ;-)
|
2000-01-12 14:24:39 -02:00 |
|
Roberto Ierusalimschy
|
dcb7bb514e
|
details (error messages)
|
2000-01-10 15:34:38 -02:00 |
|
Roberto Ierusalimschy
|
4ebc183e56
|
bug: return gives wrong line in debug information.
|
1999-12-29 16:07:10 -02:00 |
|
Roberto Ierusalimschy
|
298d0abff7
|
first version of extra debug information (NAME)
|
1999-12-29 14:31:15 -02:00 |
|
Roberto Ierusalimschy
|
b1b0c219f5
|
new ttypes to distinguish between C closures and Lua closures.
|
1999-12-23 16:19:57 -02:00 |
|
Roberto Ierusalimschy
|
be3212de78
|
details
|
1999-12-22 14:58:36 -02:00 |
|
Roberto Ierusalimschy
|
cfdebfbc53
|
debug information for parameters use line 0 for them (as they are
always visible).
|
1999-12-21 15:31:28 -02:00 |
|
Roberto Ierusalimschy
|
12b45c2df2
|
luaS_newfixedstring renamed to luaS_newfixed
|
1999-12-14 16:42:57 -02:00 |
|
Roberto Ierusalimschy
|
7621cc2aa5
|
for the future...
|
1999-12-07 09:36:16 -02:00 |
|
Roberto Ierusalimschy
|
fe237ad808
|
fixed stack; first version.
|
1999-12-01 17:50:08 -02:00 |
|
Roberto Ierusalimschy
|
33b8a01032
|
new way to code CALLs + passing multiple arguments between function calls
|
1999-11-25 16:59:43 -02:00 |
|
Roberto Ierusalimschy
|
29ede6aa13
|
first implementation of multiple states (reentrant code).
|
1999-11-22 11:12:07 -02:00 |
|
Roberto Ierusalimschy
|
cde179b369
|
new implementation for global variable values (separated from strings)
|
1999-11-04 15:23:12 -02:00 |
|
Roberto Ierusalimschy
|
e10788b2ff
|
reorganization of `stat' function.
|
1999-09-20 11:15:18 -03:00 |
|
Roberto Ierusalimschy
|
52a206366d
|
bug: in the (old) expression << ls->fs->f->consts[checkname(ls)] >>, checkname
could realloc f->consts.
|
1999-09-02 10:13:22 -03:00 |
|
Roberto Ierusalimschy
|
c787dccd9b
|
"const" !!!
|
1999-08-16 17:52:00 -03:00 |
|
Roberto Ierusalimschy
|
e9a670695a
|
details
|
1999-07-22 16:29:42 -03:00 |
|
Roberto Ierusalimschy
|
36b6fe8d17
|
better treatment for arbitrary limits
|
1999-06-17 14:04:03 -03:00 |
|
Roberto Ierusalimschy
|
d4dce57f5c
|
cannot assign to unlimited variables, because it causes overflow in
the number of returns of a function.
|
1999-06-16 10:35:01 -03:00 |
|
Roberto Ierusalimschy
|
5c19ed2a13
|
bigger limit for number of local variables and upvalues
|
1999-06-16 10:22:04 -03:00 |
|
Roberto Ierusalimschy
|
613b60c156
|
detail
|
1999-05-21 16:54:06 -03:00 |
|
Roberto Ierusalimschy
|
73308c7605
|
warnings by clinio
|
1999-05-10 10:54:01 -03:00 |
|
Roberto Ierusalimschy
|
288fa05602
|
opcodes with LONGARG do not use byte variants.
|
1999-05-06 11:41:41 -03:00 |
|
Roberto Ierusalimschy
|
e9aa98d594
|
do not generate SETLINE after main (it will be after last line)
|
1999-03-25 18:06:57 -03:00 |
|
Roberto Ierusalimschy
|
1f4e2ba7b2
|
more precise debug information about local variables
|
1999-03-23 16:58:37 -03:00 |
|
Roberto Ierusalimschy
|
c454dc7bdd
|
no more if expressions.
|
1999-03-11 16:00:12 -03:00 |
|
Roberto Ierusalimschy
|
2679461637
|
no more assignment expressions (they don't fit in Lua...)
|
1999-03-10 11:09:45 -03:00 |
|
Roberto Ierusalimschy
|
0870a2d1d8
|
new opcode TAILCALL
|
1999-03-05 18:16:07 -03:00 |
|
Roberto Ierusalimschy
|
5a8bb00df4
|
storing chunk "sources" instead of "filenames".
|
1999-03-04 18:23:39 -03:00 |
|
Roberto Ierusalimschy
|
72d675aba7
|
macros "growvector" and "reallocvector" more compact
|
1999-02-26 12:48:55 -03:00 |
|
Roberto Ierusalimschy
|
6a853fcb8b
|
details (from lhf)
|
1999-02-25 18:07:26 -03:00 |
|
Roberto Ierusalimschy
|
26d1e21c89
|
new way to handle "growing" vectors
|
1999-02-25 12:16:26 -03:00 |
|
Roberto Ierusalimschy
|
9d7bae0b6a
|
better instrumentation for internal debugging
|
1999-02-24 14:55:51 -03:00 |
|
Roberto Ierusalimschy
|
082aded149
|
warnings
|
1999-02-24 12:37:19 -03:00 |
|
Roberto Ierusalimschy
|
b82ff713e3
|
new name for opcode
|
1999-02-09 16:01:55 -02:00 |
|
Roberto Ierusalimschy
|
ad6c7b0dd4
|
small corrections in opcodes.
|
1999-02-09 13:59:10 -02:00 |
|
Roberto Ierusalimschy
|
8b2d97d187
|
assignment expression may be multiple
|
1999-02-08 16:54:19 -02:00 |
|
Roberto Ierusalimschy
|
fb1cf6ab2d
|
clearer way to set tables.
|
1999-02-08 15:07:59 -02:00 |
|
Roberto Ierusalimschy
|
5687949560
|
"lua_debug", "lua_callhook" and "lua_linehook" must be inside "lua_state".
|
1999-02-04 15:47:59 -02:00 |
|
Roberto Ierusalimschy
|
cbc58af260
|
new opcode for "long" arguments (3 bytes)
|
1999-02-04 14:36:16 -02:00 |
|
Roberto Ierusalimschy
|
27407fc1f5
|
new syntax: assignment expressions + better order for opcodes
|
1999-02-02 17:41:17 -02:00 |
|
Roberto Ierusalimschy
|
1a17da2ff9
|
opcodes with builtin parameters are too complicated for very little extra
performance.
|
1999-02-02 15:57:49 -02:00 |
|
Roberto Ierusalimschy
|
50248e440a
|
"if" expression leaves only one of its expressions on the stack
|
1999-02-02 11:47:31 -02:00 |
|
Roberto Ierusalimschy
|
0f0079f394
|
"if" expressions.
|
1999-02-01 16:52:05 -02:00 |
|
Roberto Ierusalimschy
|
68267ed878
|
negative numerals do not need a MINUSOPeration; go directly to contant
table.
|
1999-01-29 11:48:58 -02:00 |
|
Roberto Ierusalimschy
|
eec31aaca5
|
<string.h> is needed because of "memcpy".
|
1999-01-21 16:38:39 -02:00 |
|
Roberto Ierusalimschy
|
e87fddf1ad
|
GC can be called during parsing, if needed.
|
1999-01-15 09:38:33 -02:00 |
|
Roberto Ierusalimschy
|
766e67ef3b
|
to avoid warnings about "typecast" (Visual C++)
|
1998-12-28 11:44:54 -02:00 |
|
Roberto Ierusalimschy
|
d3ac7075a2
|
better error message
|
1998-12-23 12:06:57 -02:00 |
|
Roberto Ierusalimschy
|
1d420c2c11
|
better error message for code too long (old one was misleading when the
problem was SETLINE after 64k lines...)
|
1998-08-11 10:28:05 -03:00 |
|
Roberto Ierusalimschy
|
e1a127245d
|
details ("luaX_token2str" doesn't need LexState)
|
1998-07-24 15:02:38 -03:00 |
|
Roberto Ierusalimschy
|
dcb1a08906
|
"exp" changed to "exp0" to avoid problems with math.h.
|
1998-07-06 19:07:51 -03:00 |
|
Roberto Ierusalimschy
|
da94130160
|
stupid bug (in syntax print "hello")
|
1998-06-24 11:48:15 -03:00 |
|
Roberto Ierusalimschy
|
7e59a8901d
|
NEW LL(1) PARSER
|
1998-05-27 10:08:34 -03:00 |
|