diff options
-rw-r--r-- | doc/grammar.tex | 8 | ||||
-rw-r--r-- | interpreter/lex.c | 4 |
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; |