[Commit] nickle ChangeLog, 1.89, 1.90 gram.y, 1.142, 1.143 lex.l,
1.77, 1.78 mem.h, 1.15, 1.16
Keith Packard
commit at keithp.com
Sun Oct 17 16:34:39 PDT 2004
- Previous message: [Commit] jove ChangeLog,1.1,1.2 fp.c,1.6,1.7 insert.c,1.5,1.6
- Next message: [Commit] jove ChangeLog, 1.2, 1.3 jove.c, 1.6, 1.7 macros.c, 1.3,
1.4 re.c, 1.4, 1.5 screen.c, 1.5, 1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: keithp
Update of /local/src/CVS/nickle
In directory home.keithp.com:/tmp/cvs-serv20675
Modified Files:
ChangeLog gram.y lex.l mem.h
Log Message:
2004-10-17 Keith Packard <keithp at keithp.com>
* gram.y:
Add POW2 and POW3 operators
* lex.l:
Add several non-ascii character equivalents.
Make \r be white space (and ignored)
* mem.h:
Remove spurious semi-colon from ALLOCATE definition.
Index: ChangeLog
===================================================================
RCS file: /local/src/CVS/nickle/ChangeLog,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -d -r1.89 -r1.90
--- ChangeLog 9 Oct 2004 22:49:07 -0000 1.89
+++ ChangeLog 17 Oct 2004 23:34:34 -0000 1.90
@@ -1,3 +1,15 @@
+2004-10-17 Keith Packard <keithp at keithp.com>
+
+ * gram.y:
+ Add POW2 and POW3 operators
+
+ * lex.l:
+ Add several non-ascii character equivalents.
+ Make \r be white space (and ignored)
+
+ * mem.h:
+ Remove spurious semi-colon from ALLOCATE definition.
+
2004-10-09 Keith Packard <keithp at keithp.com>
* gram.y:
Index: gram.y
===================================================================
RCS file: /local/src/CVS/nickle/gram.y,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -d -r1.142 -r1.143
--- gram.y 9 Oct 2004 22:49:07 -0000 1.142
+++ gram.y 17 Oct 2004 23:34:34 -0000 1.143
@@ -175,7 +175,7 @@
%left SHIFTL SHIFTR
%left PLUS MINUS
%left TIMES DIVIDE DIV MOD
-%right POW STARSTAR
+%right POW STARSTAR POW2 POW3
%left UNIONCAST
%right UMINUS BANG FACT LNOT INC DEC STAR AMPER THREADID
%left OS CS DOT ARROW STAROS CALL OP CP
@@ -1325,6 +1325,22 @@
BuildName ("Math", "pow"),
NewExprTree (POW, $1, $3));
}
+ | simpleexpr POW2
+ {
+ $$ = NewExprTree (POW,
+ BuildName("Math", "pow"),
+ NewExprTree (POW, $1,
+ NewExprConst (TEN_NUM,
+ NewInt(2))));
+ }
+ | simpleexpr POW3
+ {
+ $$ = NewExprTree (POW,
+ BuildName("Math", "pow"),
+ NewExprTree (POW, $1,
+ NewExprConst (TEN_NUM,
+ NewInt(3))));
+ }
| simpleexpr SHIFTL simpleexpr
{ $$ = NewExprTree(SHIFTL, $1, $3); }
| simpleexpr SHIFTR simpleexpr
Index: lex.l
===================================================================
RCS file: /local/src/CVS/nickle/lex.l,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -d -r1.77 -r1.78
--- lex.l 29 Jul 2004 00:23:32 -0000 1.77
+++ lex.l 17 Oct 2004 23:34:34 -0000 1.78
@@ -354,10 +354,14 @@
"," { yylval.ints = COMMA; return COMMA; }
"$" { yylval.ints = DOLLAR; return DOLLAR; }
"..." { yylval.ints = DOTDOTDOT; return DOTDOTDOT; }
+"â¦" { yylval.ints = DOTDOTDOT; return DOTDOTDOT; }
"." { yylval.ints = DOT; return DOT; }
"->" { yylval.ints = ARROW; return ARROW; }
+"â" { yylval.ints = ARROW; return ARROW; }
"=>" { yylval.ints = DARROW; return DARROW; }
+"â" { yylval.ints = DARROW; return DARROW; }
"<>" { yylval.value = Void; return VOIDVAL; }
+"â" { yylval.value = Void; return VOIDVAL; }
\n {
if (lexInput->at_eof) { strcpy (yytext, "EOF"); yylval.ints = ENDFILE; return ENDFILE; }
if (!ignorenl) { yylval.ints = NL; return NL; }
@@ -372,12 +376,17 @@
"+=" { yylval.ints = ASSIGNPLUS; return ASSIGNPLUS; }
"-=" { yylval.ints = ASSIGNMINUS; return ASSIGNMINUS; }
"*=" { yylval.ints = ASSIGNTIMES; return ASSIGNTIMES; }
+"Ã=" { yylval.ints = ASSIGNTIMES; return ASSIGNTIMES; }
"/=" { yylval.ints = ASSIGNDIVIDE; return ASSIGNDIVIDE; }
+"÷=" { yylval.ints = ASSIGNDIVIDE; return ASSIGNDIVIDE; }
"//=" { yylval.ints = ASSIGNDIV; return ASSIGNDIV; }
+"⫽=" { yylval.ints = ASSIGNDIV; return ASSIGNDIV; }
"%=" { yylval.ints = ASSIGNMOD; return ASSIGNMOD; }
-"**=" { yylval.ints = ASSIGNPOW; return ASSIGNPOW; }
+"â=" { yylval.ints = ASSIGNPOW; return ASSIGNPOW; }
"<<=" { yylval.ints = ASSIGNSHIFTL; return ASSIGNSHIFTL; }
+"⪡=" { yylval.ints = ASSIGNSHIFTL; return ASSIGNSHIFTL; }
">>=" { yylval.ints = ASSIGNSHIFTR; return ASSIGNSHIFTR; }
+"⪢=" { yylval.ints = ASSIGNSHIFTR; return ASSIGNSHIFTR; }
"^=" { yylval.ints = ASSIGNLXOR; return ASSIGNLXOR; }
"&=" { yylval.ints = ASSIGNLAND; return ASSIGNLAND; }
"|=" { yylval.ints = ASSIGNLOR; return ASSIGNLOR; }
@@ -386,9 +395,13 @@
"+" { yylval.ints = PLUS; return PLUS; }
"-" { yylval.ints = MINUS; return MINUS; }
"*" { yylval.ints = TIMES; return TIMES; }
+"Ã" { yylval.ints = TIMES; return TIMES; }
"/" { yylval.ints = DIVIDE; return DIVIDE; }
+"÷" { yylval.ints = DIVIDE; return DIVIDE; }
"//" { yylval.ints = DIV; return DIV; }
+"⫽" { yylval.ints = DIV; return DIV; }
"**" { yylval.ints = STARSTAR; return STARSTAR; }
+"â" { yylval.ints = STARSTAR; return STARSTAR; }
"%" { yylval.ints = MOD; return MOD; }
"!" { yylval.ints = BANG; return BANG; }
"#" { yylval.ints = POUND; return POUND; }
@@ -396,23 +409,35 @@
"|" { yylval.ints = LOR; return LOR; }
"^" { yylval.ints = LXOR; return LXOR; }
"~" { yylval.ints = LNOT; return LNOT; }
+"¬" { yylval.ints = LNOT; return LNOT; }
"++" { yylval.ints = INC; return INC; }
+"⧺" { yylval.ints = INC; return INC; }
"--" { yylval.ints = DEC; return DEC; }
"==" { yylval.ints = EQ; return EQ; }
"!=" { yylval.ints = NE; return NE; }
+"â " { yylval.ints = NE; return NE; }
"<" { yylval.ints = LT; return LT; }
">" { yylval.ints = GT; return GT; }
"<=" { yylval.ints = LE; return LE; }
+"â¤" { yylval.ints = LE; return LE; }
">=" { yylval.ints = GE; return GE; }
+"â¥" { yylval.ints = GE; return GE; }
"&&" { yylval.ints = AND; return AND; }
+"â§" { yylval.ints = AND; return AND; }
"||" { yylval.ints = OR; return OR; }
+"â¨" { yylval.ints = OR; return OR; }
"<<" { yylval.ints = SHIFTL; return SHIFTL; }
+"⪡" { yylval.ints = SHIFTL; return SHIFTL; }
">>" { yylval.ints = SHIFTR; return SHIFTR; }
+"⪢" { yylval.ints = SHIFTR; return SHIFTR; }
"?" { yylval.ints = QUEST; return QUEST; }
"::" { yylval.ints = COLONCOLON; return COLONCOLON; }
":" { yylval.ints = COLON; return COLON; }
+"²" { yylval.ints = POW2; return POW2; }
+"³" { yylval.ints = POW3; return POW3; }
" " ;
"\t" ;
+"\r" ;
\'([^\n\']|\\\')*\' {
ENTER ();
char *s;
Index: mem.h
===================================================================
RCS file: /local/src/CVS/nickle/mem.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- mem.h 10 Aug 2004 17:45:40 -0000 1.15
+++ mem.h 17 Oct 2004 23:34:34 -0000 1.16
@@ -122,7 +122,7 @@
#define REFERENCE(o) STACK_PUSH(MemStack, (o))
#define ENTER() StackPointer __stackPointer = STACK_TOP(MemStack)
-#define ALLOCATE(type,size) MemAllocateRef(type,size);
+#define ALLOCATE(type,size) MemAllocateRef(type,size)
#define EXIT() STACK_RESET(MemStack, __stackPointer)
#define RETURN(r) return (STACK_RETURN (MemStack, __stackPointer, (r)))
#define NOREFRETURN(r) return (EXIT(), (r))
- Previous message: [Commit] jove ChangeLog,1.1,1.2 fp.c,1.6,1.7 insert.c,1.5,1.6
- Next message: [Commit] jove ChangeLog, 1.2, 1.3 jove.c, 1.6, 1.7 macros.c, 1.3,
1.4 re.c, 1.4, 1.5 screen.c, 1.5, 1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Commit
mailing list