diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-12-09 14:01:08 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-12-09 14:01:08 -0200 |
commit | c759520bc86c9504ebec58b0de655c93c5010e5f (patch) | |
tree | e9632d22bdf8f7cad567ef054736e5b4de065f07 | |
parent | 80b3d28f4a9e518bf40b35f786199919180bfcd4 (diff) | |
download | lua-c759520bc86c9504ebec58b0de655c93c5010e5f.tar.gz lua-c759520bc86c9504ebec58b0de655c93c5010e5f.tar.bz2 lua-c759520bc86c9504ebec58b0de655c93c5010e5f.zip |
safer way to put #defines in error messages...
-rw-r--r-- | lua.stx | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -1,6 +1,6 @@ | |||
1 | %{ | 1 | %{ |
2 | /* | 2 | /* |
3 | ** $Id: lua.stx,v 1.20 1997/12/02 12:43:54 roberto Exp roberto $ | 3 | ** $Id: lua.stx,v 1.21 1997/12/09 13:35:19 roberto Exp roberto $ |
4 | ** Syntax analizer and code generator | 4 | ** Syntax analizer and code generator |
5 | ** See Copyright Notice in lua.h | 5 | ** See Copyright Notice in lua.h |
6 | */ | 6 | */ |
@@ -26,8 +26,7 @@ | |||
26 | int luaY_parse (void); | 26 | int luaY_parse (void); |
27 | 27 | ||
28 | 28 | ||
29 | #define AMES_LIM(x) #x | 29 | #define MES_LIM(x) "(limit=" x ")" |
30 | #define MES_LIM(x) "(limit=" AMES_LIM(x) ")" | ||
31 | 30 | ||
32 | 31 | ||
33 | /* size of a "normal" jump instruction: OpCode + 1 byte */ | 32 | /* size of a "normal" jump instruction: OpCode + 1 byte */ |
@@ -35,17 +34,21 @@ int luaY_parse (void); | |||
35 | 34 | ||
36 | /* maximum number of local variables */ | 35 | /* maximum number of local variables */ |
37 | #define MAXLOCALS 32 | 36 | #define MAXLOCALS 32 |
37 | #define SMAXLOCALS "32" | ||
38 | 38 | ||
39 | #define MINGLOBAL (MAXLOCALS+1) | 39 | #define MINGLOBAL (MAXLOCALS+1) |
40 | 40 | ||
41 | /* maximum number of variables in a multiple assignment */ | 41 | /* maximum number of variables in a multiple assignment */ |
42 | #define MAXVAR 32 | 42 | #define MAXVAR 32 |
43 | #define SMAXVAR "32" | ||
43 | 44 | ||
44 | /* maximum number of nested functions */ | 45 | /* maximum number of nested functions */ |
45 | #define MAXSTATES 6 | 46 | #define MAXSTATES 6 |
47 | #define SMAXSTATES "6" | ||
46 | 48 | ||
47 | /* maximum number of upvalues */ | 49 | /* maximum number of upvalues */ |
48 | #define MAXUPVALUES 16 | 50 | #define MAXUPVALUES 16 |
51 | #define SMAXUPVALUES "16" | ||
49 | 52 | ||
50 | 53 | ||
51 | 54 | ||
@@ -162,7 +165,7 @@ static int code_oparg_at (int pc, OpCode op, int builtin, int arg, int delta) | |||
162 | L->currState->f->code[pc+2] = arg>>8; | 165 | L->currState->f->code[pc+2] = arg>>8; |
163 | return 3; | 166 | return 3; |
164 | } | 167 | } |
165 | else luaY_error("code too long " MES_LIM(64K)); | 168 | else luaY_error("code too long " MES_LIM("64K")); |
166 | return 0; /* to avoid warnings */ | 169 | return 0; /* to avoid warnings */ |
167 | } | 170 | } |
168 | 171 | ||
@@ -320,7 +323,7 @@ static void store_localvar (TaggedString *name, int n) | |||
320 | if (L->currState->nlocalvar+n < MAXLOCALS) | 323 | if (L->currState->nlocalvar+n < MAXLOCALS) |
321 | L->currState->localvar[L->currState->nlocalvar+n] = name; | 324 | L->currState->localvar[L->currState->nlocalvar+n] = name; |
322 | else | 325 | else |
323 | luaY_error("too many local variables " MES_LIM(MAXLOCALS)); | 326 | luaY_error("too many local variables " MES_LIM(SMAXLOCALS)); |
324 | luaI_registerlocalvar(name, L->lexstate->linenumber); | 327 | luaI_registerlocalvar(name, L->lexstate->linenumber); |
325 | } | 328 | } |
326 | 329 | ||
@@ -347,7 +350,7 @@ static vardesc var2store (vardesc var) | |||
347 | static void add_varbuffer (vardesc var, int n) | 350 | static void add_varbuffer (vardesc var, int n) |
348 | { | 351 | { |
349 | if (n >= MAXVAR) | 352 | if (n >= MAXVAR) |
350 | luaY_error("variable buffer overflow " MES_LIM(MAXVAR)); | 353 | luaY_error("variable buffer overflow " MES_LIM(SMAXVAR)); |
351 | L->currState->varbuffer[n] = var2store(var); | 354 | L->currState->varbuffer[n] = var2store(var); |
352 | } | 355 | } |
353 | 356 | ||
@@ -385,7 +388,7 @@ static int indexupvalue (TaggedString *n) | |||
385 | } | 388 | } |
386 | /* new one */ | 389 | /* new one */ |
387 | if (++(L->currState->nupvalues) > MAXUPVALUES) | 390 | if (++(L->currState->nupvalues) > MAXUPVALUES) |
388 | luaY_error("too many upvalues in a single function " MES_LIM(MAXUPVALUES)); | 391 | luaY_error("too many upvalues in a single function " MES_LIM(SMAXUPVALUES)); |
389 | L->currState->upvalues[i] = v; /* i = L->currState->nupvalues - 1 */ | 392 | L->currState->upvalues[i] = v; /* i = L->currState->nupvalues - 1 */ |
390 | return i; | 393 | return i; |
391 | } | 394 | } |
@@ -586,7 +589,7 @@ static void init_state (TaggedString *filename) | |||
586 | static void init_func (void) | 589 | static void init_func (void) |
587 | { | 590 | { |
588 | if (L->currState-L->mainState >= MAXSTATES-1) | 591 | if (L->currState-L->mainState >= MAXSTATES-1) |
589 | luaY_error("too many nested functions " MES_LIM(MAXSTATES)); | 592 | luaY_error("too many nested functions " MES_LIM(SMAXSTATES)); |
590 | L->currState++; | 593 | L->currState++; |
591 | init_state(L->mainState->f->fileName); | 594 | init_state(L->mainState->f->fileName); |
592 | luaY_codedebugline(L->lexstate->linenumber); | 595 | luaY_codedebugline(L->lexstate->linenumber); |