From b33c7844f0de229dd98814d74871f45b8d683cca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Sun, 26 Jan 1997 17:20:04 -0800 Subject: [PATCH] `() added, efuns are now stored in mapping Rev: src/lex.c:1.13 --- src/lex.c | 57 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/src/lex.c b/src/lex.c index e6aa0075cd..07b4848306 100644 --- a/src/lex.c +++ b/src/lex.c @@ -4,7 +4,7 @@ ||| See the files COPYING and DISCLAIMER for more information. \*/ #include "global.h" -RCSID("$Id: lex.c,v 1.12 1997/01/19 09:08:01 hubbe Exp $"); +RCSID("$Id: lex.c,v 1.13 1997/01/27 01:20:04 hubbe Exp $"); #include "language.h" #include "array.h" #include "lex.h" @@ -1598,6 +1598,38 @@ static int do_lex2(int literal, YYSTYPE *yylval) case '|': tmp="`|"; break; case '^': tmp="`^"; break; case '~': tmp="`~"; break; + case '<': + if(GOBBLE('<')) { tmp="`<<"; break; } + if(GOBBLE('=')) { tmp="`<="; break; } + tmp="`<"; + break; + + case '>': + if(GOBBLE('>')) { tmp="`>>"; break; } + if(GOBBLE('=')) { tmp="`>="; break; } + tmp="`>"; + break; + + case '!': + if(GOBBLE('=')) { tmp="`!="; break; } + tmp="`!"; + break; + + case '=': + if(GOBBLE('=')) { tmp="`=="; break; } + tmp="`="; + break; + + case '(': + if(GOBBLE(')')) + { + tmp="`()"; + break; + } + yyerror("Illegal ` identifier."); + tmp=""; + break; + case '-': if(GOBBLE('>')) { @@ -1621,27 +1653,6 @@ static int do_lex2(int literal, YYSTYPE *yylval) tmp=""; break; - case '<': - if(GOBBLE('<')) { tmp="`<<"; break; } - if(GOBBLE('=')) { tmp="`<="; break; } - tmp="`<"; - break; - - case '>': - if(GOBBLE('>')) { tmp="`>>"; break; } - if(GOBBLE('=')) { tmp="`>="; break; } - tmp="`>"; - break; - - case '!': - if(GOBBLE('=')) { tmp="`!="; break; } - tmp="`!"; - break; - - case '=': - if(GOBBLE('=')) { tmp="`=="; break; } - tmp="`="; - break; } if(literal) @@ -1761,7 +1772,7 @@ static void low_lex() } s=findstring(buf); - if(s && lookup_efun(s)) + if(s && low_mapping_string_lookup(get_builtin_constants(), s)) UNGETSTR(" 1 ",3); else UNGETSTR(" 0 ",3); -- GitLab