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