aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/grammar.tex8
-rw-r--r--interpreter/lex.c4
2 files changed, 10 insertions, 2 deletions
diff --git a/doc/grammar.tex b/doc/grammar.tex
index 59026bd..65ec537 100644
--- a/doc/grammar.tex
+++ b/doc/grammar.tex
@@ -5,9 +5,13 @@
\setlength{\grammarparsep}{4pt}
\setlength{\grammarindent}{10em}
\begin{grammar}
- <Fuspel> ::= <Rewrite-list>
+ <Fuspel> ::= <Statement-list>
- <Rewrite-list> ::= <Rewrite> `;' <Rewrite-list> | <empty>
+ <Statement-list> ::= <Rerwite> `;' <Rewrite-list>
+ \alt <Comment> <Statement-list>
+ \alt <empty>
+
+ <Comment> ::= `//' \dots `\textbackslash n'
<Rewrite> ::= <Name> <Arg-list> `=' <Rhs>
diff --git a/interpreter/lex.c b/interpreter/lex.c
index 180c23e..8946252 100644
--- a/interpreter/lex.c
+++ b/interpreter/lex.c
@@ -66,6 +66,10 @@ token_list* lex(token_list* list, char* input) {
case ',': list->elem.kind = TOKEN_COMMA; break;
case '!': list->elem.kind = TOKEN_STRICT; break;
default:
+ if (input[0] == '/' && input[1] == '/') {
+ while (input && input[0] != '\n') input++;
+ break;
+ }
if (input[0] == 'c' && input[1] == 'o' && input[2] == 'd' &&
input[3] == 'e' && is_space_char(input[4])) {
list->elem.kind = TOKEN_CODE;