2
0
Эх сурвалжийг харах

Detail

Code for multi-character tokens can start right after maximum char.
Roberto Ierusalimschy 4 жил өмнө
parent
commit
98ec799591
2 өөрчлөгдсөн 7 нэмэгдсэн , 2 устгасан
  1. 0 1
      llex.c
  2. 7 1
      llex.h

+ 0 - 1
llex.c

@@ -81,7 +81,6 @@ void luaX_init (lua_State *L) {
 
 const char *luaX_token2str (LexState *ls, int token) {
   if (token < FIRST_RESERVED) {  /* single-byte symbols? */
-    lua_assert(token == cast_uchar(token));
     if (lisprint(token))
       return luaO_pushfstring(ls->L, "'%c'", token);
     else  /* control character */

+ 7 - 1
llex.h

@@ -7,11 +7,17 @@
 #ifndef llex_h
 #define llex_h
 
+#include <limits.h>
+
 #include "lobject.h"
 #include "lzio.h"
 
 
-#define FIRST_RESERVED	257
+/*
+** Single-char tokens (terminal symbols) are represented by their own
+** numeric code. Other tokens start at the following value.
+*/
+#define FIRST_RESERVED	(UCHAR_MAX + 1)
 
 
 #if !defined(LUA_ENV)