Roberto Ierusalimschy
|
bd8b9c94b3
|
generic for (with any number of control variables)
|
2002-03-08 16:10:32 -03:00 |
|
Roberto Ierusalimschy
|
ac178ee478
|
new constructor syntax + new generic `for'
|
2002-02-14 19:46:58 -02:00 |
|
Roberto Ierusalimschy
|
38b0e6128d
|
simpler implementation for `for' loops
|
2002-02-05 20:39:12 -02:00 |
|
Roberto Ierusalimschy
|
74907fb71e
|
OP_LOADINT can be done by OP_LOADK
|
2002-01-25 19:50:39 -02:00 |
|
Roberto Ierusalimschy
|
f083812c02
|
first implementation of coroutines
|
2002-01-09 20:02:47 -02:00 |
|
Roberto Ierusalimschy
|
f42cc90d2d
|
some warnings
|
2001-12-21 15:31:35 -02:00 |
|
Roberto Ierusalimschy
|
9aff171f3b
|
new type `boolean'
|
2001-12-11 20:48:44 -02:00 |
|
Roberto Ierusalimschy
|
72659a0605
|
no more explicit support for wide-chars; too much troble...
|
2001-11-28 18:13:13 -02:00 |
|
Roberto Ierusalimschy
|
21aa7e55f2
|
optimization for array part of a Table
|
2001-10-25 17:14:14 -02:00 |
|
Roberto Ierusalimschy
|
b840a7518d
|
details
|
2001-10-02 13:43:29 -03:00 |
|
Roberto Ierusalimschy
|
f54cdb33a5
|
small bug in close x return
|
2001-09-28 13:48:16 -03:00 |
|
Roberto Ierusalimschy
|
328d53e77b
|
restricted syntax for function call/table accesses prefixes
|
2001-09-25 14:06:48 -03:00 |
|
Roberto Ierusalimschy
|
abdbe883a8
|
first implementation of unrestricted static scoping
|
2001-09-07 14:39:10 -03:00 |
|
Roberto Ierusalimschy
|
e1d072571e
|
better syntax for type casts
|
2001-08-31 16:46:07 -03:00 |
|
Roberto Ierusalimschy
|
c3d72096c4
|
use a table to find (and reuse) constants when parsing
|
2001-08-27 12:16:28 -03:00 |
|
Roberto Ierusalimschy
|
fd40af92e4
|
the parser is not LL(1)
|
2001-08-10 17:53:03 -03:00 |
|
Roberto Ierusalimschy
|
a3d03ff6b6
|
bug: error message for `%a' gave wrong line number
|
2001-07-10 17:02:22 -03:00 |
|
Roberto Ierusalimschy
|
770954510f
|
rename of kproto' to p'
|
2001-06-28 11:57:17 -03:00 |
|
Roberto Ierusalimschy
|
fccadba4b5
|
new reserved words in' and global'
|
2001-06-20 18:07:57 -03:00 |
|
Roberto Ierusalimschy
|
89c301d180
|
`(exp)' adjusts exp to 1 result
|
2001-06-12 11:36:48 -03:00 |
|
Roberto Ierusalimschy
|
0a1b1acdd3
|
details about opcode parameters
|
2001-06-11 11:56:42 -03:00 |
|
Roberto Ierusalimschy
|
cbc59592ff
|
new definition for luaD_call' and luaD_adjusttop'
|
2001-06-08 16:01:38 -03:00 |
|
Roberto Ierusalimschy
|
0267168675
|
details.
|
2001-06-08 09:29:27 -03:00 |
|
Roberto Ierusalimschy
|
190ddd431d
|
details (rests of debug code)
|
2001-06-07 11:44:51 -03:00 |
|
Roberto Ierusalimschy
|
943b8f5b18
|
details
|
2001-06-05 16:41:24 -03:00 |
|
Roberto Ierusalimschy
|
762d059a13
|
new implementation for the Virtual Machine
|
2001-06-05 15:17:01 -03:00 |
|
Roberto Ierusalimschy
|
a68635a919
|
list constructors do not adjust last expression
|
2001-04-06 15:25:00 -03:00 |
|
Roberto Ierusalimschy
|
2112142680
|
allow syntax << function (x) ... end (...) >> as a statement
|
2001-04-05 13:49:14 -03:00 |
|
Roberto Ierusalimschy
|
dd3a63c205
|
new way to handle `profiles'
|
2001-03-26 11:31:49 -03:00 |
|
Roberto Ierusalimschy
|
39b7978329
|
first (big) step to support wide chars
|
2001-02-23 14:17:25 -03:00 |
|
Roberto Ierusalimschy
|
2cc94ac81b
|
avoid name clash with `sys/stat'
|
2001-02-23 10:38:56 -03:00 |
|
Roberto Ierusalimschy
|
5f37134e64
|
avoid '...' and "..." inside comments
|
2001-02-22 15:59:59 -03:00 |
|
Roberto Ierusalimschy
|
888f91fa24
|
code check for upvalues
|
2001-02-20 15:28:11 -03:00 |
|
Roberto Ierusalimschy
|
099442c41f
|
better separation between basic types
|
2001-02-20 15:15:33 -03:00 |
|
Roberto Ierusalimschy
|
f8509668dc
|
details.
|
2001-02-14 15:38:45 -02:00 |
|
Roberto Ierusalimschy
|
40f4e931f3
|
more liberal syntax for expressions
|
2001-02-14 15:19:28 -02:00 |
|
Roberto Ierusalimschy
|
d2e340f467
|
string pointers are always fully aligned
|
2001-02-09 18:22:29 -02:00 |
|
Roberto Ierusalimschy
|
c81404cae5
|
first version of code verification
|
2001-02-09 16:37:33 -02:00 |
|
Roberto Ierusalimschy
|
6548bf7462
|
warnings from Visual C
|
2001-02-08 09:19:10 -02:00 |
|
Roberto Ierusalimschy
|
d1fc6244f0
|
extended syntax to allow function a.b.c (x)
|
2001-02-05 15:48:52 -02:00 |
|
Roberto Ierusalimschy
|
60ff79451c
|
detail in error message
|
2001-01-31 11:13:17 -02:00 |
|
Roberto Ierusalimschy
|
3b6f8bfbe6
|
simpler implementation of for loops
|
2001-01-29 13:26:40 -02:00 |
|
Roberto Ierusalimschy
|
caf01b5bfa
|
better implementation for list "for"
|
2001-01-29 11:14:49 -02:00 |
|
Roberto Ierusalimschy
|
4ac58853dc
|
thead-specific state separated from "global" state
|
2001-01-19 11:20:30 -02:00 |
|
Roberto Ierusalimschy
|
a04de4f0ad
|
no more END opcode
|
2001-01-15 14:13:24 -02:00 |
|
Roberto Ierusalimschy
|
08496eea8b
|
small changes in lstring
|
2001-01-10 15:41:50 -02:00 |
|
Roberto Ierusalimschy
|
595e449537
|
tighter size for error buffers
|
2001-01-10 14:40:56 -02:00 |
|
Roberto Ierusalimschy
|
0183b8030c
|
`free' gets size of the block: complete control over memory use
|
2000-12-28 10:55:41 -02:00 |
|
Roberto Ierusalimschy
|
8c49e19865
|
explicit control of size for growing vectors
|
2000-12-26 16:46:09 -02:00 |
|
Roberto Ierusalimschy
|
4894c27962
|
lua_Number defined in lua.h (1st version)
|
2000-12-04 16:33:40 -02:00 |
|
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 |
|