summaryrefslogtreecommitdiff
path: root/lparser.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fixed missing GC barriers in compiler and undumpRoberto Ierusalimschy2020-06-181-0/+3
| | | | | While building a new prototype, the GC needs barriers for every object (strings and nested prototypes) that is attached to the new prototype.
* Lua 5.3.5 ported to gitv5.3.5Roberto Ierusalimschy2018-12-171-2/+2
| | | | | | | This is the first commit for the branch Lua 5.3. All source files were copied from the official distribution of 5.3.5 in the Lua site. The test files are the same of 5.3.4. The manual came from the previous RCS repository, revision 1.167.1.2.
* do not eliminate varargs from functions that do not use varargsRoberto Ierusalimschy2016-08-011-4/+3
| | | | (confuses the debug lib and gains very little in performance)
* bug: expression list with four or more expressions inRoberto Ierusalimschy2016-06-221-5/+4
| | | | | a 'for' loop can crash the interpreter. ('adjust_assign' must remove extra expresssions from its registers.)
* 'singlevaraux' returns result only in 'var->k'Roberto Ierusalimschy2016-05-131-10/+10
|
* bug: label between local definitions can mix-up their initializationsRoberto Ierusalimschy2016-03-071-2/+2
|
* 'getcode' -> 'getinstruction'Roberto Ierusalimschy2016-01-051-4/+4
|
* detail (moving bodies of 'while' to a separate line)Roberto Ierusalimschy2015-12-091-5/+9
|
* macro 'incr_top' replaced by function 'luaD_inctop'. (It is not usedRoberto Ierusalimschy2015-11-021-3/+3
| | | | in critical time pathes, can save a few bytes without the macro)
* function prepares vararg only if it really uses them (chunksRoberto Ierusalimschy2015-10-281-3/+4
| | | | are always declared vararg but seldom uses them)
* detailsRoberto Ierusalimschy2014-12-271-4/+4
|
* removed unneeded barrier ('from' must be white)Roberto Ierusalimschy2014-11-271-2/+2
|
* added include for 'lprefix.h', for stuff that must be added beforeRoberto Ierusalimschy2014-11-021-4/+6
| | | | any other header file
* `name' in comments changed to 'name'Roberto Ierusalimschy2014-10-251-31/+31
|
* macros 'LUA_QL'/'LUA_QL' deprecatedRoberto Ierusalimschy2014-10-171-7/+7
|
* 'iswhite' and related macros now can work directly on any objectRoberto Ierusalimschy2014-07-211-4/+4
| | | | (no need to convert to 'GCObject')
* type 'TString' refers directly to the structure inside the unionRoberto Ierusalimschy2014-07-181-4/+4
| | | | (union used only for size purposes)
* added check for conversion 'obj2gco' (and corrections for smallRoberto Ierusalimschy2014-07-181-4/+4
| | | | problems detected by this check)
* more precision between closure types ('LClosure' x 'CClosure')Roberto Ierusalimschy2014-06-191-5/+5
|
* first implementation of '<<', '>>', and '~' (bitwise not)Roberto Ierusalimschy2013-12-301-7/+11
|
* first implementation of bitwise operators '&' (band), '|' (bor),Roberto Ierusalimschy2013-12-181-7/+11
| | | | and '~' (bxor)
* new order for binary operations (grouping them by type of result)Roberto Ierusalimschy2013-12-161-9/+11
|
* bug (GC can collect long identifier during parser) + change (usingRoberto Ierusalimschy2013-08-301-28/+17
| | | | a single constant table for all functions in a chunk)
* added 'local' bit (true => object is only refered by local variables)Roberto Ierusalimschy2013-08-161-1/+2
|
* new operation '//' (integer division)Roberto Ierusalimschy2013-04-261-2/+4
|
* default increment for 'for' loop is an integer (1, not 1.0)Roberto Ierusalimschy2013-04-251-2/+2
|
* first implementation of literal integers (no constant folding yet)Roberto Ierusalimschy2013-04-161-4/+9
|
* commentsRoberto Ierusalimschy2013-02-061-3/+6
|
* detail (avoid being picky about conversion from 'unsigned char'Roberto Ierusalimschy2012-08-061-2/+2
| | | | to 'int')
* extend optimization of 'if a then break end' for the caseRoberto Ierusalimschy2012-05-201-4/+10
| | | | 'if a then break; end'
* no more 'Proto' objects on the stack. Protos are anchored on outerRoberto Ierusalimschy2012-05-081-45/+52
| | | | Protos or on a Closure, which must be created before the Proto.
* primaryexp -> suffixedexp; prefixexp -> primaryexp + more 'syntactical'Roberto Ierusalimschy2012-04-201-15/+17
| | | | way to distinguish between function calls and assignments
* 'eqstr' -> 'luaS_eqstr'Roberto Ierusalimschy2012-01-231-8/+8
|
* old error messages may be misleadingRoberto Ierusalimschy2011-12-021-4/+4
|
* more uses of 'l_noret'Roberto Ierusalimschy2011-11-301-7/+5
|
* detail (avoid applying macro 'getstr' with a function-call argument)Roberto Ierusalimschy2011-10-311-2/+3
|
* silly bug in 5.2 beta: assignment conflict code did not test to checkRoberto Ierusalimschy2011-10-241-17/+20
| | | | whether variable was a table element
* lint (unreachable code)Roberto Ierusalimschy2011-09-301-2/+2
|
* small bug in if-goto optimization: block must be closed ('leaveblock')Roberto Ierusalimschy2011-09-141-5/+8
| | | | *before* the jump out ('escapelist')
* optimization for |if cond then goto|Roberto Ierusalimschy2011-08-301-18/+37
|
* cleaner code for 'if' constructRoberto Ierusalimschy2011-08-251-20/+14
|
* 'nCcalls' should be local to each thread, as each thread may have itsRoberto Ierusalimschy2011-08-231-6/+6
| | | | own C stack (with LuaThreads or something similar)
* reducing even more use of C stack by the parser: struct 'FuncState'Roberto Ierusalimschy2011-07-271-12/+12
| | | | | 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.)
* detail (cleaned whitespaces at end of lines)Roberto Ierusalimschy2011-07-151-3/+3
|
* small simplifications (and assert was wrongly written)Roberto Ierusalimschy2011-07-021-4/+2
|
* back to "one-label-per-block"Roberto Ierusalimschy2011-06-271-20/+13
|
* label syntax changed to '::label::'Roberto Ierusalimschy2011-06-201-6/+6
|
* label names must be unique inside a functionRoberto Ierusalimschy2011-06-161-12/+27
|
* commentRoberto Ierusalimschy2011-05-021-2/+2
|
* local function name only visible to debug info after being initializedRoberto Ierusalimschy2011-04-181-1/+6
|