Roberto Ierusalimschy
|
a948054a19
|
new order for binary operations (grouping them by type of result)
|
11 years ago |
Roberto Ierusalimschy
|
8ef9e8460e
|
bug (GC can collect long identifier during parser) + change (using
a single constant table for all functions in a chunk)
|
11 years ago |
Roberto Ierusalimschy
|
439d74e29f
|
added 'local' bit (true => object is only refered by local variables)
|
11 years ago |
Roberto Ierusalimschy
|
a2f5c28a80
|
new operation '//' (integer division)
|
12 years ago |
Roberto Ierusalimschy
|
5951c79ae1
|
default increment for 'for' loop is an integer (1, not 1.0)
|
12 years ago |
Roberto Ierusalimschy
|
1294b09d8e
|
first implementation of literal integers (no constant folding yet)
|
12 years ago |
Roberto Ierusalimschy
|
1ce57628b2
|
comments
|
12 years ago |
Roberto Ierusalimschy
|
233eac4d3a
|
detail (avoid being picky about conversion from 'unsigned char'
to 'int')
|
12 years ago |
Roberto Ierusalimschy
|
8d0e1ed52f
|
extend optimization of 'if a then break end' for the case
'if a then break; end'
|
13 years ago |
Roberto Ierusalimschy
|
3cadc37f47
|
no more 'Proto' objects on the stack. Protos are anchored on outer
Protos or on a Closure, which must be created before the Proto.
|
13 years ago |
Roberto Ierusalimschy
|
c54f5f64c9
|
primaryexp -> suffixedexp; prefixexp -> primaryexp + more 'syntactical'
way to distinguish between function calls and assignments
|
13 years ago |
Roberto Ierusalimschy
|
9f1a8dbdd3
|
'eqstr' -> 'luaS_eqstr'
|
13 years ago |
Roberto Ierusalimschy
|
5999e14ad9
|
old error messages may be misleading
|
13 years ago |
Roberto Ierusalimschy
|
6d8b672094
|
more uses of 'l_noret'
|
13 years ago |
Roberto Ierusalimschy
|
fd8a849621
|
detail (avoid applying macro 'getstr' with a function-call argument)
|
13 years ago |
Roberto Ierusalimschy
|
6819c2a98a
|
silly bug in 5.2 beta: assignment conflict code did not test to check
whether variable was a table element
|
13 years ago |
Roberto Ierusalimschy
|
e24f1ee9ff
|
lint (unreachable code)
|
13 years ago |
Roberto Ierusalimschy
|
500336efd0
|
small bug in if-goto optimization: block must be closed ('leaveblock')
*before* the jump out ('escapelist')
|
13 years ago |
Roberto Ierusalimschy
|
c8f47c2934
|
optimization for |if cond then goto|
|
13 years ago |
Roberto Ierusalimschy
|
121dc8af66
|
cleaner code for 'if' construct
|
13 years ago |
Roberto Ierusalimschy
|
3dc5475e23
|
'nCcalls' should be local to each thread, as each thread may have its
own C stack (with LuaThreads or something similar)
|
13 years ago |
Roberto Ierusalimschy
|
59bcd137ae
|
reducing even more use of C stack by the parser: struct 'FuncState'
does not need field 'L' + number of labels/gotos in a chunk may be
limited to SHRT_MAX. (Also removed some non-needed 'unsigned's.)
|
13 years ago |
Roberto Ierusalimschy
|
32a12e2f3f
|
detail (cleaned whitespaces at end of lines)
|
14 years ago |
Roberto Ierusalimschy
|
d93df22bf6
|
small simplifications (and assert was wrongly written)
|
14 years ago |
Roberto Ierusalimschy
|
374773748b
|
back to "one-label-per-block"
|
14 years ago |
Roberto Ierusalimschy
|
719c01359f
|
label syntax changed to ':🏷️:'
|
14 years ago |
Roberto Ierusalimschy
|
fdede85419
|
label names must be unique inside a function
|
14 years ago |
Roberto Ierusalimschy
|
c9ce754e38
|
comment
|
14 years ago |
Roberto Ierusalimschy
|
f17e3624ef
|
local function name only visible to debug info after being initialized
|
14 years ago |
Roberto Ierusalimschy
|
7482e8f914
|
no need of lookahead in Zio
|
14 years ago |
Roberto Ierusalimschy
|
c0a865fa54
|
error for repeated label + jumps allowed to labels followed by
'no-op' statements
|
14 years ago |
Roberto Ierusalimschy
|
0009ac1f3a
|
'break' does not need to be last statement in a block +
'explist1' -> 'explist' + moving a few functions around
|
14 years ago |
Roberto Ierusalimschy
|
bf8b08295a
|
'break' coded as 'goto' + small bug when closing multiple gotos
to the same label
|
14 years ago |
Roberto Ierusalimschy
|
3f5b56c48b
|
simpler code for repeat-until
|
14 years ago |
Roberto Ierusalimschy
|
e7192dfdbb
|
corrected 'follow' for checking whether label is last statement
in a block
|
14 years ago |
Roberto Ierusalimschy
|
0539f48661
|
small changes in goto-related error messages
|
14 years ago |
Roberto Ierusalimschy
|
fd6c1f4898
|
ensures that all local variables are declared inside some block,
opening a new block at 'open_func'
|
14 years ago |
Roberto Ierusalimschy
|
f079749287
|
some reorganization of dynamic data structures used by the parser
|
14 years ago |
Roberto Ierusalimschy
|
f8d677f94c
|
no more 'OP_CLOSE' instructions (use jumps to close upvalues)
|
14 years ago |
Roberto Ierusalimschy
|
7cc0e63d8a
|
first implementation of 'goto'
|
14 years ago |
Roberto Ierusalimschy
|
dd547c55c8
|
new scheme to close upvalues in 'break'; jump instructions may
do the close, avoiding the need for a OP_CLOSE instruction
|
14 years ago |
Roberto Ierusalimschy
|
c4ea0c3b29
|
detail (cleaning trailing spaces)
|
14 years ago |
Roberto Ierusalimschy
|
7e0caa7d61
|
new closures are always created on "next" register (so that GC knows
stack limit)
|
14 years ago |
Roberto Ierusalimschy
|
4a83fe569c
|
comment
|
14 years ago |
Roberto Ierusalimschy
|
0df2238063
|
name "_ENV" configurable through 'luaconf.h'
|
14 years ago |
Roberto Ierusalimschy
|
8d9ea59d28
|
'pushclosure' -> 'codeclosure' (as there is another 'pushclosure' in
'lvm.c) + small detail
|
14 years ago |
Roberto Ierusalimschy
|
81dd13f4c6
|
new way to distinguish between indexing tables in registers and
tables in upvalues (+ fixed small bug when checking conflicts in
multiple assignments)
|
15 years ago |
Roberto Ierusalimschy
|
6a02bbe1e2
|
better organization for fields in struct 'expdesc'
|
15 years ago |
Roberto Ierusalimschy
|
ca3865cf1b
|
'getlocal' gets information about parameters of Lua functions
|
15 years ago |
Roberto Ierusalimschy
|
bd619b9311
|
new macro MAXUPVAL (maximum number of upvalues per closure)
|
15 years ago |