Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | First implementation for 'const' variables | Roberto Ierusalimschy | 2019-05-17 | 1 | -4/+9 |
| | | | | | A variable can be declared const, which means it cannot be assigned to, with the syntax 'local <const> name = exp'. | ||||
* | Details | Roberto Ierusalimschy | 2018-11-22 | 1 | -1/+1 |
| | | | | comments and other janitorial work. | ||||
* | Big revamp in the implmentation of labels/gotos | Roberto Ierusalimschy | 2018-10-29 | 1 | -0/+2 |
| | | | | | | | | Added restriction that, when a label is created, there cannot be another label with the same name visible. That allows backward goto's to be resolved when they are read. Backward goto's get a close if they jump out of the scope of some variable; labels get a close only if previous goto to it jumps out of the scope of some upvalue. | ||||
* | Towards "to closed" local variables | Roberto Ierusalimschy | 2018-10-08 | 1 | -0/+1 |
| | | | | | | | | | | | | Start of the implementation of "scoped variables" or "to be closed" variables, local variables whose '__close' (or themselves) are called when they go out of scope. This commit implements the syntax, the opcode, and the creation of the corresponding upvalue, but it still does not call the finalizations when the variable goes out of scope (the most important part). Currently, the syntax is 'local scoped name = exp', but that will probably change. | ||||
* | Removed extra information from RCS keyword strings | Roberto Ierusalimschy | 2018-08-23 | 1 | -1/+1 |
| | | | | | Version numbers and dates (mostly wrong) from RCS keyword strings removed from all source files; only the file name are kept. | ||||
* | no more nil-in-table | Roberto Ierusalimschy | 2018-04-04 | 1 | -3/+2 |
| | |||||
* | new experimental syntax using reserved word 'undef' | Roberto Ierusalimschy | 2018-03-07 | 1 | -2/+3 |
| | |||||
* | 'VRELOCABLE' -> 'VRELOC' | Roberto Ierusalimschy | 2017-12-14 | 1 | -3/+3 |
| | |||||
* | small peephole optimizations | Roberto Ierusalimschy | 2017-11-30 | 1 | -2/+1 |
| | |||||
* | 'lineinfo' in prototypes saved as differences instead of absolute | Roberto Ierusalimschy | 2017-06-27 | 1 | -1/+4 |
| | | | | | | values, so that the array can use bytes instead of ints, reducing its size. (A new array 'abslineinfo' is used when line differences do not fit in a byte.) | ||||
* | new opcodes for table access with constant keys (strings and integers) | Roberto Ierusalimschy | 2017-04-28 | 1 | -8/+16 |
| | |||||
* | more comments + reordeing of union inside 'expdesc' to allow | Roberto Ierusalimschy | 2015-12-30 | 1 | -13/+16 |
| | | | | static initialization of a VKINT value | ||||
* | comments. (More explanation about kinds of expressions.) | Roberto Ierusalimschy | 2015-12-17 | 1 | -17/+27 |
| | |||||
* | `name' in comments changed to 'name' | Roberto Ierusalimschy | 2014-10-25 | 1 | -8/+8 |
| | |||||
* | more precision between closure types ('LClosure' x 'CClosure') | Roberto Ierusalimschy | 2014-06-19 | 1 | -3/+3 |
| | |||||
* | bug (GC can collect long identifier during parser) + change (using | Roberto Ierusalimschy | 2013-08-30 | 1 | -2/+1 |
| | | | | a single constant table for all functions in a chunk) | ||||
* | first implementation of literal integers (no constant folding yet) | Roberto Ierusalimschy | 2013-04-16 | 1 | -3/+5 |
| | |||||
* | no more 'Proto' objects on the stack. Protos are anchored on outer | Roberto Ierusalimschy | 2012-05-08 | 1 | -3/+3 |
| | | | | Protos or on a Closure, which must be created before the Proto. | ||||
* | reducing even more use of C stack by the parser: struct 'FuncState' | Roberto Ierusalimschy | 2011-07-27 | 1 | -7/+6 |
| | | | | | 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.) | ||||
* | no need of lookahead in Zio | Roberto Ierusalimschy | 2011-02-23 | 1 | -2/+2 |
| | |||||
* | some reorganization of dynamic data structures used by the parser | Roberto Ierusalimschy | 2011-02-07 | 1 | -36/+24 |
| | |||||
* | first implementation of 'goto' | Roberto Ierusalimschy | 2011-02-04 | 1 | -6/+41 |
| | |||||
* | new way to distinguish between indexing tables in registers and | Roberto Ierusalimschy | 2010-07-07 | 1 | -10/+13 |
| | | | | | tables in upvalues (+ fixed small bug when checking conflicts in multiple assignments) | ||||
* | better organization for fields in struct 'expdesc' | Roberto Ierusalimschy | 2010-07-02 | 1 | -4/+8 |
| | |||||
* | first version of _ENV; no more global variables | Roberto Ierusalimschy | 2010-03-12 | 1 | -3/+1 |
| | |||||
* | new instructions to optimize indexing on upvalues | Roberto Ierusalimschy | 2010-02-26 | 1 | -5/+6 |
| | |||||
* | parser keeps list of active local variables in a single dynamic array, | Roberto Ierusalimschy | 2009-10-11 | 1 | -3/+11 |
| | | | | therefore saving C stack space | ||||
* | first implementation of lexical environments | Roberto Ierusalimschy | 2009-09-30 | 1 | -2/+3 |
| | |||||
* | information about upvalues (where they come from) kept in Proto structure, | Roberto Ierusalimschy | 2009-09-28 | 1 | -8/+2 |
| | | | | instead of sequence of pseudo-opcodes after OP_CLOSURE | ||||
* | added structure for local-variable information to allow extra | Roberto Ierusalimschy | 2008-05-08 | 1 | -4/+10 |
| | | | | checkings if needed | ||||
* | 'lparser.h' should not include 'ltable.h' | Roberto Ierusalimschy | 2006-03-09 | 1 | -2/+1 |
| | |||||
* | numeral expressions keep their values in struct 'expdesc' | Roberto Ierusalimschy | 2005-10-03 | 1 | -2/+6 |
| | |||||
* | added LUAI_FUNC to functions not in the API | Roberto Ierusalimschy | 2005-04-25 | 1 | -2/+3 |
| | |||||
* | `luac´ -> `luai' (to avoid confusion with other luac stuff) | Roberto Ierusalimschy | 2005-03-09 | 1 | -3/+3 |
| | |||||
* | `luaconf.h´ exports all its definitions always (so all of them | Roberto Ierusalimschy | 2005-03-08 | 1 | -3/+3 |
| | | | | must have a lua/LUA prefix). | ||||
* | USHRT_MAX may not fit in a (16-bit) int | Roberto Ierusalimschy | 2005-03-07 | 1 | -2/+2 |
| | |||||
* | new way to use `vararg' parameters (with `...') | Roberto Ierusalimschy | 2004-05-31 | 1 | -2/+3 |
| | |||||
* | zio does not keep "source" name (nobody uses it) | Roberto Ierusalimschy | 2003-08-25 | 1 | -2/+2 |
| | |||||
* | more changes to reduce stack usage by the parser | Roberto Ierusalimschy | 2003-07-09 | 1 | -4/+4 |
| | |||||
* | small changes to reduce stack usage by the parser | Roberto Ierusalimschy | 2003-07-09 | 1 | -3/+9 |
| | |||||
* | different variables for number of upvalues and size of upvalue array | Roberto Ierusalimschy | 2003-02-11 | 1 | -2/+1 |
| | | | | (makes code clearer) | ||||
* | new functions to manipulate upvales (get/setupvalue) | Roberto Ierusalimschy | 2002-12-19 | 1 | -1/+2 |
| | |||||
* | use of different buffers for scanner and concatenation | Roberto Ierusalimschy | 2002-10-08 | 1 | -2/+2 |
| | |||||
* | no more `global' declarations | Roberto Ierusalimschy | 2002-05-14 | 1 | -16/+5 |
| | |||||
* | cleaner implementation of code generation for jumps | Roberto Ierusalimschy | 2002-05-10 | 1 | -2/+2 |
| | |||||
* | comment | Roberto Ierusalimschy | 2002-05-09 | 1 | -2/+2 |
| | |||||
* | simpler implementation for line information | Roberto Ierusalimschy | 2002-03-25 | 1 | -3/+1 |
| | |||||
* | implementation of `global' statement | Roberto Ierusalimschy | 2002-03-14 | 1 | -18/+18 |
| | |||||
* | better order of record fields for 64-bit machines | Roberto Ierusalimschy | 2002-02-08 | 1 | -2/+2 |
| | |||||
* | OP_LOADINT can be done by OP_LOADK | Roberto Ierusalimschy | 2002-01-25 | 1 | -7/+1 |
| |