repositories
/
cc1516.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lexer with line numbers
[cc1516.git]
/
lex.dcl
diff --git
a/lex.dcl
b/lex.dcl
index
d6c421c
..
e141b94
100644
(file)
--- a/
lex.dcl
+++ b/
lex.dcl
@@
-2,7
+2,8
@@
definition module lex
import Data.Either
import Data.Either
-:: Token
+:: Token :== (Int, TokenValue)
+:: TokenValue
//Value tokens
= IdentToken [Char] // Identifier
| NumberToken [Char]// Integer
//Value tokens
= IdentToken [Char] // Identifier
| NumberToken [Char]// Integer
@@
-21,6
+22,7
@@
import Data.Either
| BoolTypeToken // Bool keyword
//Two character tokens
| DoubleColonToken // ::
| BoolTypeToken // Bool keyword
//Two character tokens
| DoubleColonToken // ::
+ | NotEqualToken // !=
| LesserEqToken // <=
| GreaterEqToken // >=
| EqualsToken // ==
| LesserEqToken // <=
| GreaterEqToken // >=
| EqualsToken // ==
@@
-52,6
+54,4
@@
import Data.Either
:: LexerOutput :== Either String [Token]
:: LexerOutput :== Either String [Token]
-instance toString LexerOutput
-
lexer :: [Char] -> LexerOutput
lexer :: [Char] -> LexerOutput