Roberto Ierusalimschy
|
bdf566a8a3
|
`name' in comments changed to 'name'
|
2014-10-25 09:50:46 -02:00 |
Roberto Ierusalimschy
|
f97c64d7bf
|
macros 'LUA_QL'/'LUA_QL' deprecated
|
2014-10-17 13:28:21 -03:00 |
Roberto Ierusalimschy
|
17ee57f8e0
|
'iswhite' and related macros now can work directly on any object
(no need to convert to 'GCObject')
|
2014-07-21 13:02:10 -03:00 |
Roberto Ierusalimschy
|
ca41b43f53
|
type 'TString' refers directly to the structure inside the union
(union used only for size purposes)
|
2014-07-18 10:36:14 -03:00 |
Roberto Ierusalimschy
|
56137d58ff
|
added check for conversion 'obj2gco' (and corrections for small
problems detected by this check)
|
2014-07-18 09:17:54 -03:00 |
Roberto Ierusalimschy
|
89b56e7d84
|
more precision between closure types ('LClosure' x 'CClosure')
|
2014-06-19 15:27:20 -03:00 |
Roberto Ierusalimschy
|
1ea2d20f74
|
first implementation of '<<', '>>', and '~' (bitwise not)
|
2013-12-30 18:47:58 -02:00 |
Roberto Ierusalimschy
|
c0edab0f6d
|
first implementation of bitwise operators '&' (band), '|' (bor),
and '~' (bxor)
|
2013-12-18 12:12:03 -02:00 |
Roberto Ierusalimschy
|
a948054a19
|
new order for binary operations (grouping them by type of result)
|
2013-12-16 17:06:52 -02:00 |
Roberto Ierusalimschy
|
8ef9e8460e
|
bug (GC can collect long identifier during parser) + change (using
a single constant table for all functions in a chunk)
|
2013-08-30 13:01:37 -03:00 |
Roberto Ierusalimschy
|
439d74e29f
|
added 'local' bit (true => object is only refered by local variables)
|
2013-08-16 15:55:49 -03:00 |
Roberto Ierusalimschy
|
a2f5c28a80
|
new operation '//' (integer division)
|
2013-04-26 10:08:29 -03:00 |
Roberto Ierusalimschy
|
5951c79ae1
|
default increment for 'for' loop is an integer (1, not 1.0)
|
2013-04-25 16:35:19 -03:00 |
Roberto Ierusalimschy
|
1294b09d8e
|
first implementation of literal integers (no constant folding yet)
|
2013-04-16 15:46:28 -03:00 |
Roberto Ierusalimschy
|
1ce57628b2
|
comments
|
2013-02-06 11:37:39 -02:00 |
Roberto Ierusalimschy
|
233eac4d3a
|
detail (avoid being picky about conversion from 'unsigned char'
to 'int')
|
2012-08-06 10:36:34 -03:00 |
Roberto Ierusalimschy
|
8d0e1ed52f
|
extend optimization of 'if a then break end' for the case
'if a then break; end'
|
2012-05-20 11:51:23 -03:00 |
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.
|
2012-05-08 10:53:33 -03:00 |
Roberto Ierusalimschy
|
c54f5f64c9
|
primaryexp -> suffixedexp; prefixexp -> primaryexp + more 'syntactical'
way to distinguish between function calls and assignments
|
2012-04-20 16:20:05 -03:00 |
Roberto Ierusalimschy
|
9f1a8dbdd3
|
'eqstr' -> 'luaS_eqstr'
|
2012-01-23 21:05:18 -02:00 |
Roberto Ierusalimschy
|
5999e14ad9
|
old error messages may be misleading
|
2011-12-02 11:23:56 -02:00 |
Roberto Ierusalimschy
|
6d8b672094
|
more uses of 'l_noret'
|
2011-11-30 10:43:51 -02:00 |
Roberto Ierusalimschy
|
fd8a849621
|
detail (avoid applying macro 'getstr' with a function-call argument)
|
2011-10-31 15:46:04 -02:00 |
Roberto Ierusalimschy
|
6819c2a98a
|
silly bug in 5.2 beta: assignment conflict code did not test to check
whether variable was a table element
|
2011-10-24 12:51:44 -02:00 |
Roberto Ierusalimschy
|
e24f1ee9ff
|
lint (unreachable code)
|
2011-09-30 09:44:45 -03:00 |
Roberto Ierusalimschy
|
500336efd0
|
small bug in if-goto optimization: block must be closed ('leaveblock')
*before* the jump out ('escapelist')
|
2011-09-14 14:40:26 -03:00 |
Roberto Ierusalimschy
|
c8f47c2934
|
optimization for |if cond then goto|
|
2011-08-30 13:38:58 -03:00 |
Roberto Ierusalimschy
|
121dc8af66
|
cleaner code for 'if' construct
|
2011-08-25 10:45:24 -03:00 |
Roberto Ierusalimschy
|
3dc5475e23
|
'nCcalls' should be local to each thread, as each thread may have its
own C stack (with LuaThreads or something similar)
|
2011-08-23 14:24:34 -03:00 |
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.)
|
2011-07-27 15:09:01 -03:00 |
Roberto Ierusalimschy
|
32a12e2f3f
|
detail (cleaned whitespaces at end of lines)
|
2011-07-15 09:50:29 -03:00 |
Roberto Ierusalimschy
|
d93df22bf6
|
small simplifications (and assert was wrongly written)
|
2011-07-02 12:58:14 -03:00 |
Roberto Ierusalimschy
|
374773748b
|
back to "one-label-per-block"
|
2011-06-27 15:18:59 -03:00 |
Roberto Ierusalimschy
|
719c01359f
|
label syntax changed to ':🏷️:'
|
2011-06-20 13:52:48 -03:00 |
Roberto Ierusalimschy
|
fdede85419
|
label names must be unique inside a function
|
2011-06-16 13:36:39 -03:00 |
Roberto Ierusalimschy
|
c9ce754e38
|
comment
|
2011-05-02 14:33:01 -03:00 |
Roberto Ierusalimschy
|
f17e3624ef
|
local function name only visible to debug info after being initialized
|
2011-04-18 16:48:24 -03:00 |
Roberto Ierusalimschy
|
7482e8f914
|
no need of lookahead in Zio
|
2011-02-23 10:13:10 -03:00 |
Roberto Ierusalimschy
|
c0a865fa54
|
error for repeated label + jumps allowed to labels followed by
'no-op' statements
|
2011-02-14 14:36:34 -02:00 |
Roberto Ierusalimschy
|
0009ac1f3a
|
'break' does not need to be last statement in a block +
'explist1' -> 'explist' + moving a few functions around
|
2011-02-14 12:59:28 -02:00 |
Roberto Ierusalimschy
|
bf8b08295a
|
'break' coded as 'goto' + small bug when closing multiple gotos
to the same label
|
2011-02-10 12:50:41 -02:00 |
Roberto Ierusalimschy
|
3f5b56c48b
|
simpler code for repeat-until
|
2011-02-09 15:03:18 -02:00 |
Roberto Ierusalimschy
|
e7192dfdbb
|
corrected 'follow' for checking whether label is last statement
in a block
|
2011-02-09 14:51:28 -02:00 |
Roberto Ierusalimschy
|
0539f48661
|
small changes in goto-related error messages
|
2011-02-09 12:45:19 -02:00 |
Roberto Ierusalimschy
|
fd6c1f4898
|
ensures that all local variables are declared inside some block,
opening a new block at 'open_func'
|
2011-02-07 17:00:30 -02:00 |
Roberto Ierusalimschy
|
f079749287
|
some reorganization of dynamic data structures used by the parser
|
2011-02-07 15:14:50 -02:00 |
Roberto Ierusalimschy
|
f8d677f94c
|
no more 'OP_CLOSE' instructions (use jumps to close upvalues)
|
2011-02-07 10:28:27 -02:00 |
Roberto Ierusalimschy
|
7cc0e63d8a
|
first implementation of 'goto'
|
2011-02-04 15:34:43 -02:00 |
Roberto Ierusalimschy
|
dd547c55c8
|
new scheme to close upvalues in 'break'; jump instructions may
do the close, avoiding the need for a OP_CLOSE instruction
|
2011-02-01 16:03:10 -02:00 |
Roberto Ierusalimschy
|
c4ea0c3b29
|
detail (cleaning trailing spaces)
|
2011-01-26 14:30:02 -02:00 |
Roberto Ierusalimschy
|
7e0caa7d61
|
new closures are always created on "next" register (so that GC knows
stack limit)
|
2010-12-17 10:03:41 -02:00 |
Roberto Ierusalimschy
|
4a83fe569c
|
comment
|
2010-12-15 17:13:29 -02:00 |
Roberto Ierusalimschy
|
0df2238063
|
name "_ENV" configurable through 'luaconf.h'
|
2010-09-07 16:21:39 -03:00 |
Roberto Ierusalimschy
|
8d9ea59d28
|
'pushclosure' -> 'codeclosure' (as there is another 'pushclosure' in
'lvm.c) + small detail
|
2010-08-23 14:32:34 -03:00 |
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)
|
2010-07-07 13:27:29 -03:00 |
Roberto Ierusalimschy
|
6a02bbe1e2
|
better organization for fields in struct 'expdesc'
|
2010-07-02 17:42:40 -03:00 |
Roberto Ierusalimschy
|
ca3865cf1b
|
'getlocal' gets information about parameters of Lua functions
|
2010-06-21 13:30:12 -03:00 |
Roberto Ierusalimschy
|
bd619b9311
|
new macro MAXUPVAL (maximum number of upvalues per closure)
|
2010-05-31 13:08:55 -03:00 |
Roberto Ierusalimschy
|
12c764ed1e
|
semicolons now represent the empty statement
|
2010-05-15 10:32:02 -03:00 |
Roberto Ierusalimschy
|
058279d548
|
comments
|
2010-05-14 12:03:43 -03:00 |
Roberto Ierusalimschy
|
0d00729e31
|
detail (breaking a long line)
|
2010-05-13 09:03:26 -03:00 |
Roberto Ierusalimschy
|
c066ac10a9
|
better line numbers for function calls and unary/binary operators +
null statement + no more "ambiguous syntax" restriction
|
2010-04-17 09:46:32 -03:00 |
Roberto Ierusalimschy
|
6abde1b05a
|
no need to keep "_ENV" name in global state (can be kept in lex state)
|
2010-04-05 13:35:37 -03:00 |
Roberto Ierusalimschy
|
d394d5536a
|
new macro 'eqstr'
|
2010-04-05 13:26:37 -03:00 |
Roberto Ierusalimschy
|
22ef84b6c8
|
'_ENV' name permanently stored in global state for easier access
|
2010-03-13 12:55:42 -03:00 |
Roberto Ierusalimschy
|
25c557ec63
|
first version of _ENV; no more global variables
|
2010-03-12 16:14:06 -03:00 |
Roberto Ierusalimschy
|
1124cb1247
|
first step towards _ENV: all chunks have an puvalues _ENV with the
global table
|
2010-03-08 13:55:52 -03:00 |
Roberto Ierusalimschy
|
e560ac4862
|
when searching for a variable name, look existing upvalues before
goingg to upper levels
|
2010-03-04 15:12:57 -03:00 |
Roberto Ierusalimschy
|
0fe2576a39
|
new instructions to optimize indexing on upvalues
|
2010-02-26 17:40:29 -03:00 |
Roberto Ierusalimschy
|
389c890ed3
|
again changing macro to function to save a few bytes
|
2010-01-06 09:48:02 -02:00 |
Roberto Ierusalimschy
|
e3866afa97
|
macro 'luaY_checklimit' changed into a function (and renamed 'checklimit').
It makes no sense to trade space for time in the parser.
|
2010-01-05 16:46:58 -02:00 |
Roberto Ierusalimschy
|
3c4d970a7b
|
comment typos
|
2009-11-26 09:39:20 -02:00 |
Roberto Ierusalimschy
|
35fa276099
|
parser/scanner keep GC running
|
2009-11-17 14:33:38 -02:00 |
Roberto Ierusalimschy
|
1448e736f0
|
better documentation for constructor syntax
|
2009-10-14 13:43:11 -03:00 |
Roberto Ierusalimschy
|
6e415e9387
|
local function definition does not need to correct debug information
|
2009-10-13 16:35:42 -03:00 |
Roberto Ierusalimschy
|
916587508c
|
parser keeps list of active local variables in a single dynamic array,
therefore saving C stack space
|
2009-10-11 17:02:19 -03:00 |
Roberto Ierusalimschy
|
0ac3d07ea6
|
first implementation of lexical environments
|
2009-09-30 12:38:37 -03:00 |
Roberto Ierusalimschy
|
5938212748
|
information about upvalues (where they come from) kept in Proto structure,
instead of sequence of pseudo-opcodes after OP_CLOSURE
|
2009-09-28 13:32:50 -03:00 |
Roberto Ierusalimschy
|
f8e354e240
|
detail (space between function name and its parameter list)
|
2009-09-23 17:14:00 -03:00 |
Roberto Ierusalimschy
|
4e1ffc482a
|
test for 'fs' being NULL at the end of 'close_func' is useless ('fs'
cannot be NULl and the new ls->fs can only be NULL when the token
is EOS, in which case anchor_token has no effect).
|
2009-08-10 17:41:04 -03:00 |
Roberto Ierusalimschy
|
d7872dcf91
|
small optimization (reorder of BinOpr enum to unify some cases
in switches)
|
2009-06-18 13:35:05 -03:00 |
Roberto Ierusalimschy
|
2598138ece
|
new function 'luaK_codek' (detail)
|
2009-06-10 13:52:03 -03:00 |
Roberto Ierusalimschy
|
d7bc346d7a
|
no more code checking
|
2009-04-30 14:42:21 -03:00 |
Roberto Ierusalimschy
|
3dbf305408
|
no more support for old-style varargs
|
2009-03-26 09:57:01 -03:00 |
Roberto Ierusalimschy
|
84b3daebbd
|
generic for coded as two dedicated instructions to simplify resumption
|
2008-10-30 13:39:30 -02:00 |
Roberto Ierusalimschy
|
9e58e0df8f
|
some cleaning
|
2008-10-28 10:55:00 -02:00 |
Roberto Ierusalimschy
|
198be23f36
|
added structure for local-variable information to allow extra
checkings if needed
|
2008-05-08 12:44:51 -03:00 |
Roberto Ierusalimschy
|
5627d51e05
|
corrected error message ("too many constants" -> "too many functions")
|
2008-04-02 14:19:22 -03:00 |
Roberto Ierusalimschy
|
3138afbe2e
|
parser should not call 'luaX_lexerror'
|
2007-10-25 14:45:47 -02:00 |
Roberto Ierusalimschy
|
4eef0aaad1
|
detail
|
2007-10-18 09:01:52 -02:00 |
Roberto Ierusalimschy
|
f6a81dbe97
|
BUG: too many variables in an assignment may cause a C stack overflow
|
2007-07-31 16:39:52 -03:00 |
Roberto Ierusalimschy
|
aa003eba8e
|
details
|
2007-05-11 14:28:56 -03:00 |
Roberto Ierusalimschy
|
5f4f0d4a63
|
no more optimization to avoid LOADNIL at function start
|
2007-03-27 11:11:38 -03:00 |
Roberto Ierusalimschy
|
92dc64e121
|
more regularity in the use of quotes in error messages
|
2007-02-07 15:49:18 -02:00 |
Roberto Ierusalimschy
|
4d7cfff6df
|
comments
|
2006-11-22 09:02:03 -02:00 |
Roberto Ierusalimschy
|
9f5a052c27
|
error message
|
2006-10-24 10:31:48 -03:00 |
Roberto Ierusalimschy
|
bd869c7b31
|
details
|
2006-09-14 15:42:28 -03:00 |
Roberto Ierusalimschy
|
d5a23dde90
|
little better error messages for internal arrays overflows
|
2006-09-14 09:59:06 -03:00 |
Roberto Ierusalimschy
|
93bf618504
|
BUG: there is only one C stack, so nCcalls must be global
|
2006-08-15 16:59:20 -03:00 |
Roberto Ierusalimschy
|
0782416a74
|
bug: wrong limit for list constructors
|
2006-07-12 16:02:50 -03:00 |