summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-07-03 15:11:15 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-09-15 23:01:27 -0400
commita40982bb2a9572c242dfdc4192d552ed8f805da5 (patch)
tree89f297db89f1d9f139fbfd167e13d6da0e136684
parent7c92b5a0c44b8faf9e5425b17caa4610da0e6902 (diff)
downloadroux-a40982bb2a9572c242dfdc4192d552ed8f805da5.tar.gz
add comments
-rw-r--r--lisc/lisc.h2
-rw-r--r--lisc/parse.c9
2 files changed, 10 insertions, 1 deletions
diff --git a/lisc/lisc.h b/lisc/lisc.h
index abb025f..2219628 100644
--- a/lisc/lisc.h
+++ b/lisc/lisc.h
@@ -50,7 +50,7 @@ enum {
OSub,
ODiv,
OMod,
- OConst,
+ OCopy,
/* reserved instructions */
OX86Div,
diff --git a/lisc/parse.c b/lisc/parse.c
index 7cd3d7a..b54437b 100644
--- a/lisc/parse.c
+++ b/lisc/parse.c
@@ -22,6 +22,7 @@ enum PState {
enum Token {
TXXX,
+ TCopy,
TAdd,
TSub,
TDiv,
@@ -93,6 +94,7 @@ lex()
char *str;
Token tok;
} tmap[] = {
+ { "copy", TCopy },
{ "add", TAdd },
{ "sub", TSub },
{ "div", TDiv },
@@ -121,6 +123,9 @@ lex()
return TRParen;
case '=':
return TEq;
+ case '#':
+ while (fgetc(inf) != '\n')
+ ;
case '\n':
lnum++;
return TNL;
@@ -352,6 +357,10 @@ parseline(PState ps)
r = varref(tokval.str);
expect(TEq);
switch (next()) {
+ case TCopy:
+ op = OCopy;
+ j = 1;
+ break;
case TAdd:
op = OAdd;
j = 2;