summaryrefslogtreecommitdiff
path: root/lparser.c
diff options
context:
space:
mode:
Diffstat (limited to 'lparser.c')
-rw-r--r--lparser.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/lparser.c b/lparser.c
index 9c1007d3..32ebff3f 100644
--- a/lparser.c
+++ b/lparser.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lparser.c,v 1.1 1998/05/27 13:08:34 roberto Exp roberto $ 2** $Id: lparser.c,v 1.2 1998/06/24 14:48:15 roberto Exp roberto $
3** LL(1) Parser and code generator for Lua 3** LL(1) Parser and code generator for Lua
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -112,7 +112,7 @@ static void body (LexState *ls, int needself, int line);
112static void chunk (LexState *ls); 112static void chunk (LexState *ls);
113static void constructor (LexState *ls); 113static void constructor (LexState *ls);
114static void decinit (LexState *ls, listdesc *d); 114static void decinit (LexState *ls, listdesc *d);
115static void exp (LexState *ls, vardesc *v); 115static void exp0 (LexState *ls, vardesc *v);
116static void exp1 (LexState *ls); 116static void exp1 (LexState *ls);
117static void exp2 (LexState *ls, vardesc *v); 117static void exp2 (LexState *ls, vardesc *v);
118static void explist (LexState *ls, listdesc *e); 118static void explist (LexState *ls, listdesc *e);
@@ -889,14 +889,14 @@ typedef struct {
889 889
890static void exp1 (LexState *ls) { 890static void exp1 (LexState *ls) {
891 vardesc v; 891 vardesc v;
892 exp(ls, &v); 892 exp0(ls, &v);
893 lua_pushvar(ls, &v); 893 lua_pushvar(ls, &v);
894 if (is_in(ls->token, expfollow) < 0) 894 if (is_in(ls->token, expfollow) < 0)
895 luaX_error(ls, "ill formed expression"); 895 luaX_error(ls, "ill formed expression");
896} 896}
897 897
898 898
899static void exp (LexState *ls, vardesc *v) { 899static void exp0 (LexState *ls, vardesc *v) {
900 exp2(ls, v); 900 exp2(ls, v);
901 while (ls->token == AND || ls->token == OR) { 901 while (ls->token == AND || ls->token == OR) {
902 int is_and = (ls->token == AND); 902 int is_and = (ls->token == AND);
@@ -960,9 +960,9 @@ static void exp2 (LexState *ls, vardesc *v) {
960static void simpleexp (LexState *ls, vardesc *v) { 960static void simpleexp (LexState *ls, vardesc *v) {
961 check_debugline(ls); 961 check_debugline(ls);
962 switch (ls->token) { 962 switch (ls->token) {
963 case '(': /* simpleexp -> '(' exp ')' */ 963 case '(': /* simpleexp -> '(' exp0 ')' */
964 next(ls); 964 next(ls);
965 exp(ls, v); 965 exp0(ls, v);
966 check(ls, ')'); 966 check(ls, ')');
967 break; 967 break;
968 968
@@ -1104,13 +1104,13 @@ static void explist (LexState *ls, listdesc *d) {
1104 1104
1105static void explist1 (LexState *ls, listdesc *d) { 1105static void explist1 (LexState *ls, listdesc *d) {
1106 vardesc v; 1106 vardesc v;
1107 exp(ls, &v); 1107 exp0(ls, &v);
1108 d->n = 1; 1108 d->n = 1;
1109 while (ls->token == ',') { 1109 while (ls->token == ',') {
1110 d->n++; 1110 d->n++;
1111 lua_pushvar(ls, &v); 1111 lua_pushvar(ls, &v);
1112 next(ls); 1112 next(ls);
1113 exp(ls, &v); 1113 exp0(ls, &v);
1114 } 1114 }
1115 if (v.k == VEXP) 1115 if (v.k == VEXP)
1116 d->pc = v.info; 1116 d->pc = v.info;
@@ -1241,7 +1241,7 @@ static void part (LexState *ls, constdesc *cd) {
1241 1241
1242 case NAME: { 1242 case NAME: {
1243 vardesc v; 1243 vardesc v;
1244 exp(ls, &v); 1244 exp0(ls, &v);
1245 if (ls->token == '=') { 1245 if (ls->token == '=') {
1246 switch (v.k) { 1246 switch (v.k) {
1247 case VGLOBAL: 1247 case VGLOBAL: