Commit Graph

244 Commits

Author SHA1 Message Date
Roberto Ierusalimschy ea6b1b42c7 more robust way to test for decimal point separator 2005-12-08 13:50:54 -02:00
Roberto Ierusalimschy 87024e257d details 2005-12-07 13:43:05 -02:00
Roberto Ierusalimschy 16fd4abaf6 corrects decimal point to follow current locale 2005-12-07 13:33:27 -02:00
Roberto Ierusalimschy d2811e8097 simpler checking for numbers (strtod does the rest) 2005-11-08 17:45:14 -02:00
Roberto Ierusalimschy 67578ec51f several small details 2005-05-17 16:49:15 -03:00
Roberto Ierusalimschy c2bb9abcec better quotes for strings in error messages 2005-05-16 18:19:00 -03:00
Roberto Ierusalimschy cf5d1bdd76 nesting of long strings only in compatibility mode 2005-04-27 15:37:51 -03:00
Roberto Ierusalimschy 61a888518f details 2004-12-03 18:54:12 -02:00
Roberto Ierusalimschy 8b239eeba1 details 2004-12-03 18:44:19 -02:00
Roberto Ierusalimschy e1c2fb6eed details 2004-12-02 10:59:10 -02:00
Roberto Ierusalimschy 97e2dab1fb better control of overflows in size computations 2004-12-01 13:46:18 -02:00
Roberto Ierusalimschy 1d99a7360b details 2004-11-24 17:16:03 -02:00
Roberto Ierusalimschy b2820f39a2 long string delimiter changed from `[*[' to `[=[' 2004-09-22 11:02:00 -03:00
Roberto Ierusalimschy b4cd38ba6c new scheme for configuration through `luaconf.h' 2004-04-30 17:13:38 -03:00
Roberto Ierusalimschy a003e89125 better error messages for some limits 2004-03-12 16:53:56 -03:00
Roberto Ierusalimschy 47fc57a252 `TObject' renamed to `TValue' + other name changes and better assertions
for incremental garbage collection
2003-12-10 10:13:36 -02:00
Roberto Ierusalimschy 8502331f69 `luaX_errorline' was used only in one place 2003-10-20 10:24:34 -02:00
Roberto Ierusalimschy 3087636c76 detail 2003-10-03 13:07:44 -03:00
Roberto Ierusalimschy 7b8504840f buffer should better use `size_t' for its size 2003-10-03 13:05:34 -03:00
Roberto Ierusalimschy 30e51f09b9 some changes in error reporting 2003-09-04 17:00:28 -03:00
Roberto Ierusalimschy 0ff1596476 new form of long strings: `[***[...]***]' 2003-08-29 13:48:14 -03:00
Roberto Ierusalimschy b27664e0db simpler manipulation of buffer count in scanner 2003-08-28 11:38:46 -03:00
Roberto Ierusalimschy 8332d5c8a5 parser fully reentrant(!) 2003-08-27 18:01:44 -03:00
Roberto Ierusalimschy 97af24ea32 newlines can be `\n', `\r', `\r\n', or `\n\r' 2003-08-21 11:16:43 -03:00
Roberto Ierusalimschy 176cd7d1a3 `#!' is detected by loadfile, not by the lexer 2003-05-15 09:20:24 -03:00
Roberto Ierusalimschy 30a411ab3c chars from zio are always unsigned 2003-03-24 09:39:34 -03:00
Roberto Ierusalimschy 6b6bc532a4 better error message for (deprecated) "%global" 2003-02-28 14:19:47 -03:00
Roberto Ierusalimschy 27c6b4d422 each .c file defines its own name 2002-12-04 15:38:31 -02:00
Roberto Ierusalimschy a2b353e044 details 2002-10-23 16:08:13 -03:00
Roberto Ierusalimschy 6823a2f57f better tokens for error messages 2002-10-22 13:45:52 -03:00
Roberto Ierusalimschy e1d5153a33 details 2002-10-09 10:00:08 -03:00
Roberto Ierusalimschy b3d0682fb9 use of different buffers for scanner and concatenation 2002-10-08 15:46:08 -03:00
Roberto Ierusalimschy 565e6d74e1 state's buffer is used only for chars 2002-09-19 10:03:53 -03:00
Roberto Ierusalimschy 1bdde38bd2 no more newlines at the end of error messages 2002-09-05 16:45:42 -03:00
Roberto Ierusalimschy b2bc3b44b6 no more reserved word "global" 2002-09-03 08:57:38 -03:00
Roberto Ierusalimschy da19c436cc cleaning the stage for generational collection 2002-08-16 11:45:55 -03:00
Roberto Ierusalimschy a8c9eec426 bug: chunk can end just after a '\' in a string 2002-07-10 17:43:53 -03:00
Roberto Ierusalimschy d2d24f0971 details to allow compilation of Lua as a single file 2002-07-08 15:14:36 -03:00
Roberto Ierusalimschy 69906cb56f error message ends with `\n' (is already formatted) 2002-06-25 16:18:20 -03:00
Roberto Ierusalimschy 1dbe708aa8 new protocol for error handling 2002-06-18 12:19:27 -03:00
Roberto Ierusalimschy c398a02110 uses `isspace' to recognize space characters 2002-06-03 17:12:21 -03:00
Roberto Ierusalimschy ff91b355f4 no more use of stdio inside the core (except for `tostring'...) 2002-06-03 11:09:57 -03:00
Roberto Ierusalimschy 955def0348 new names for string formating functions 2002-05-16 15:39:46 -03:00
Roberto Ierusalimschy b7a0503c1d new format for error messages 2002-05-15 15:57:44 -03:00
Roberto Ierusalimschy dea6b6da94 new function `lua_vpushstr' to replace uses of `sprintf' 2002-05-07 14:36:56 -03:00
Roberto Ierusalimschy 51ad2f1162 error message 2002-03-08 16:25:24 -03:00
Roberto Ierusalimschy 4db04555f0 implementation of long comments 2002-03-08 16:07:01 -03:00
Roberto Ierusalimschy 1b6315ba10 not all unfinished strings with "..." end in EOF 2002-03-04 12:27:14 -03:00
Roberto Ierusalimschy 57a7baafb9 error message compatible with incomplete lines of lua.c 2002-02-08 20:40:27 -02:00
Roberto Ierusalimschy b217ae644e details 2002-01-25 20:14:09 -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 39395e1211 `luaX_syntaxerror' does not need to be public 2001-11-16 14:29:10 -02:00
Roberto Ierusalimschy e1d072571e better syntax for type casts 2001-08-31 16:46:07 -03:00
Roberto Ierusalimschy 9fca43f5b0 details 2001-08-30 17:54:36 -03:00
Roberto Ierusalimschy 45b173cbf8 warnings/details 2001-07-21 21:59:36 -03:00
Roberto Ierusalimschy fccadba4b5 new reserved words `in' and `global' 2001-06-20 18:07:57 -03:00
Roberto Ierusalimschy 8e586c13fc cleaner way to ensure alignment for strings and userdata 2001-06-15 17:36:57 -03:00
Roberto Ierusalimschy 7fae1c17b1 detail 2001-06-13 11:25:49 -03:00
Roberto Ierusalimschy ba11831d35 smaller structs for udata and for strings 2001-06-07 12:01:21 -03:00
Roberto Ierusalimschy dd3a63c205 new way to handle `profiles' 2001-03-26 11:31:49 -03:00
Roberto Ierusalimschy f81b8adb3f string [[...]] ignores initial \n 2001-03-07 09:49:37 -03:00
Roberto Ierusalimschy e9a3820370 sizeof(string) != strlen(string)+1 when sizeof(char) != 1 2001-03-06 11:46:54 -03:00
Roberto Ierusalimschy dfd7ce74cf buffer should be void *, as char now is not that neutral... 2001-02-23 17:32:16 -03:00
Roberto Ierusalimschy 39b7978329 first (big) step to support wide chars 2001-02-23 14:17:25 -03:00
Roberto Ierusalimschy 5f37134e64 avoid '...' and "..." inside comments 2001-02-22 15:59:59 -03:00
Roberto Ierusalimschy 52ee91dd73 better encapsulation of some types 2001-02-22 14:15:18 -03:00
Roberto Ierusalimschy d2e340f467 string pointers are always fully aligned 2001-02-09 18:22:29 -02:00
Roberto Ierusalimschy 4ac58853dc thead-specific state separated from "global" state 2001-01-19 11:20:30 -02:00
Roberto Ierusalimschy 619edfd9e4 details 2001-01-15 16:07:56 -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 64eecc0b82 new macro LUA_API 2000-10-20 14:39:03 -02:00
Roberto Ierusalimschy 282ab366f4 bug: parser overwrites semantic information when looking ahead 2000-09-27 14:41:58 -03:00
Roberto Ierusalimschy 8060193702 `lauxlib' is now part of the libraries (not used by core Lua) 2000-09-11 17:29:27 -03:00
Roberto Ierusalimschy 787a78f83e new scheme for buffers 2000-09-11 14:38:42 -03:00
Roberto Ierusalimschy 5c0e79847c pragmas are no longer supported 2000-08-22 17:07:56 -03:00
Roberto Ierusalimschy e238efc536 default now is multi-state 2000-08-09 16:16:57 -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 b69e712713 new way to generate SETLINEs 2000-06-21 15:13:56 -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 c39345fba3 no more pragmas 2000-05-26 11:04:04 -03:00
Roberto Ierusalimschy 58fbdc76d5 better implementation for looh-ahead 2000-05-25 15:59:59 -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 11a7022067 global variables are stored in a Lua table 2000-05-08 16:32:53 -03:00
Roberto Ierusalimschy f9cf402fbd first implementation of FOR 2000-04-12 15:57:19 -03:00
Roberto Ierusalimschy 42130ed712 name changes 2000-04-07 10:11:49 -03:00
Roberto Ierusalimschy 22329e4cdf implementation of BREAK 2000-04-05 14:51:58 -03:00
Roberto Ierusalimschy 213e9febc8 limits now are in `llims.n' 2000-03-24 14:26:08 -03:00
Roberto Ierusalimschy 73aa465a8e some name changes 2000-03-10 15:37:44 -03:00
Roberto Ierusalimschy 3c9d999424 many details (most by lhf). 2000-03-03 11:58:26 -03:00
Roberto Ierusalimschy 74f1c3d025 small changes for "clean C" 2000-02-08 14:39:42 -02:00
Roberto Ierusalimschy d6b9f49aaf only need to reset buffer for strings, numbers, and names. 2000-01-26 16:51:49 -02:00
Roberto Ierusalimschy d83c2a8455 performance details. 2000-01-25 16:44:21 -02:00
Roberto Ierusalimschy 0652906e7a details. 1999-12-30 10:40:29 -02:00
Roberto Ierusalimschy 2eaf9a00ae little bug: `1ea' got a wrong token at the error message 1999-12-22 14:58:36 -02:00
Roberto Ierusalimschy 1b15206cf9 many details + code redistribution 1999-12-14 16:33:29 -02:00
Roberto Ierusalimschy b097076678 missing include 1999-12-02 14:41:29 -02:00
Roberto Ierusalimschy 29ede6aa13 first implementation of multiple states (reentrant code). 1999-11-22 11:12:07 -02:00
Roberto Ierusalimschy a7fa7bafc8 new warnings with option "-W" (gcc) 1999-11-09 15:59:35 -02:00
Roberto Ierusalimschy 910836fb53 warnings from Visual C++ 1999-10-19 11:33:22 -02:00
Roberto Ierusalimschy c5fee7615e new implementation for string hashing, with chaining. 1999-10-11 14:13:42 -02:00
Roberto Ierusalimschy 4343420d4d simplified version of `gc' tag method (only for userdata now). 1999-10-04 15:51:04 -02:00
Roberto Ierusalimschy 2e13cd77ab new interface for `luaO_strtod', which now checks signal, too. 1999-09-06 17:34:18 -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 924bbe020b bigger limits 1999-05-14 09:24:04 -03:00
Roberto Ierusalimschy 3e9c6a8a24 details 1999-03-25 18:05:05 -03:00
Roberto Ierusalimschy 82ad0d5770 details 1999-03-11 15:59:19 -03:00
Roberto Ierusalimschy 78edc241e9 details about debug info. 1999-03-05 17:45:01 -03:00
Roberto Ierusalimschy 5a8bb00df4 storing chunk "sources" instead of "filenames". 1999-03-04 18:23:39 -03:00
Roberto Ierusalimschy 6a853fcb8b details (from lhf) 1999-02-25 18:07:26 -03:00
Roberto Ierusalimschy 055823c04d "L->Mbuffbase" is better kept as offset instead of pointer 1999-02-25 12:17:01 -03:00
Roberto Ierusalimschy 5687949560 "lua_debug", "lua_callhook" and "lua_linehook" must be inside "lua_state". 1999-02-04 15:47:59 -02:00
Roberto Ierusalimschy 766e67ef3b to avoid warnings about "typecast" (Visual C++) 1998-12-28 11:44:54 -02:00
Roberto Ierusalimschy 4c94d8cc2c new function "luaO_str2d" to convert strings to numbers, because
old "lex" algorithm had aproximation errors, but strtod (and atof
and scanf) are too slow.
1998-12-27 18:25:20 -02:00
Roberto Ierusalimschy 5ca2709ba0 small warnings 1998-12-03 13:45:15 -02:00
Roberto Ierusalimschy e1a127245d details ("luaX_token2str" doesn't need LexState) 1998-07-24 15:02:38 -03:00
Roberto Ierusalimschy 1788501eed double constant used in integer expression 1998-07-06 19:04:58 -03:00
Roberto Ierusalimschy df0df08bc5 "dostring" accepts chunk name. 1998-06-19 15:47:06 -03:00
Roberto Ierusalimschy c9902be294 "findname" moved from lobject.c to lauxlib.c (so libraries may use it). 1998-06-18 13:57:03 -03:00
Roberto Ierusalimschy 7dfa952091 no more error for '\x' (with "invalid" x) 1998-06-06 17:44:05 -03:00
Roberto Ierusalimschy 7e59a8901d NEW LL(1) PARSER 1998-05-27 10:08:34 -03:00
Roberto Ierusalimschy 21455162b5 details (and new escape sequences: \a, \b, ...) 1998-03-20 11:18:18 -03:00
Roberto Ierusalimschy e74817f8aa correct way to handle string delimiters 1998-03-09 14:22:49 -03:00
Roberto Ierusalimschy 88a2023c32 support for strings with '\0' 1998-03-06 13:54:42 -03:00
Roberto Ierusalimschy aafa106d10 implementation of numerical escape sequences in strings ("\12");
better error messages for wrong tokens
1998-02-11 18:56:46 -02:00
Roberto Ierusalimschy f529a22ca5 BUG: wrong line number (+1) in error report when file starts with "#..." 1998-01-19 18:18:02 -02:00
Roberto Ierusalimschy 0e1058cfdd small optimizations in switch order 1998-01-09 12:44:55 -02:00
Roberto Ierusalimschy fae0b52825 small bugs in error report 1997-12-22 15:52:20 -02:00
Roberto Ierusalimschy 502343b402 new scheme for buffers, centralized in auxlib. 1997-12-17 18:48:58 -02:00
Roberto Ierusalimschy 80b3d28f4a details (mainly error messages) 1997-12-09 11:50:08 -02:00
Roberto Ierusalimschy 525a91fed3 BUG: "lastline" was not reset on function entry, so debug information
started only in the 2nd line of a function.
1997-12-02 10:43:54 -02:00
Roberto Ierusalimschy accd7bc253 small modifications (format, small optimizations, etc) 1997-11-21 17:00:46 -02:00
Roberto Ierusalimschy 2e7595522d allows '\r' at the end of pragmas, so one can mix Windows and Unix files 1997-11-19 15:35:47 -02:00
Roberto Ierusalimschy 592a3f289b first implementation of centralized global state. 1997-11-19 15:29:23 -02:00
Roberto Ierusalimschy 92791b9dd6 small details 1997-11-07 13:09:49 -02:00
Roberto Ierusalimschy 45cad43c3f "lua_open": now lua has an explicit open operation. 1997-11-04 13:27:53 -02:00
Roberto Ierusalimschy 2bb94d9e22 using bison instead of yacc; lparser.c renamed to lstx.c (to
avoid confusion with lparser.h...)
1997-10-13 20:10:45 -02:00
Roberto Ierusalimschy a580480b07 new implementation for globals: Global value is stored in TaggedString 1997-09-26 12:02:26 -03:00
Roberto Ierusalimschy 60cc473bcf Lexical Analizer 1997-09-16 16:25:59 -03:00