@@ -48,6 +48,12 @@ export
48isNot : Char -> Lexer
48isNot : Char -> Lexer
49isNot x = Pred (/=x)
49isNot x = Pred (/=x)
51+||| Recognise a lexer or recognise no input. This is not guaranteed
54+opt : Lexer -> Recognise False
51||| Recognise a sequence of at least one sub-lexers
57||| Recognise a sequence of at least one sub-lexers
53some : Lexer -> Lexer
59some : Lexer -> Lexer
@@ -59,7 +65,7 @@ export
59many : Lexer -> Recognise False
65many : Lexer -> Recognise False
60many l = some l <|> Empty
66many l = some l <|> Empty
62−||| Recognize the first matching lexer from a non-empty list.
68+||| Recognise the first matching lexer from a non-empty list.
64choice : (xs : List Lexer) -> {auto ok : NonEmpty xs} -> Lexer
70choice : (xs : List Lexer) -> {auto ok : NonEmpty xs} -> Lexer
65choice (x :: []) = x
71choice (x :: []) = x