2
-- only list imports here
8
%lexer { lexer } { TokenEOF }
14
transvb { Verb Trans $$ }
15
intransvb { Verb Intrans $$ }
42
deriving (Show,Eq,Ord)
44
data Arity = Trans | Intrans deriving (Show,Eq,Ord)
46
lexer :: String -> [[Token]]
47
lexer = map lex_word . words
50
-- (no claims to accuracy)
52
lex_word w@"the" = [Det w]
53
lex_word w@"a" = [Det w]
54
lex_word w@"some" = [Det w]
55
lex_word w@"in" = [Prep w]
56
lex_word w@"with" = [Prep w]
57
lex_word w@"park" = [Verb Trans w, Noun w]
58
lex_word w@"man" = [Verb Trans w, Noun w]
59
lex_word w@"saw" = [Verb Trans w, Verb Intrans w, Noun w]
60
lex_word w@"run" = [Verb Trans w, Verb Intrans w, Noun w]
61
lex_word w@"race" = [Verb Trans w, Verb Intrans w, Noun w]
62
lex_word w@"telescope" = [Verb Trans w, Verb Intrans w, Noun w]
63
lex_word w = error $ "Not know: " ++ show w