Add a (debug) interactive demo

This commit is contained in:
2023-11-26 11:58:20 -08:00
parent 800c96dc7b
commit efe0efbee7
2 changed files with 20 additions and 6 deletions

View File

@@ -26,7 +26,8 @@ variable = Parser.variable
term : Parser (Term Metavariable)
term = Parser.lazy (\() -> Parser.oneOf
[ Parser.succeed IntLit |= intLit
, Parser.succeed Call
, Parser.backtrackable <|
Parser.succeed Call
|= name
|= Parser.sequence
{ start = "("
@@ -36,6 +37,8 @@ term = Parser.lazy (\() -> Parser.oneOf
, item = term
, trailing = Forbidden
}
, Parser.succeed (\n -> Call n [])
|= name
, Parser.succeed Var |= variable
])
@@ -70,3 +73,9 @@ program =
, trailing = Mandatory
}
|. Parser.end
run : Parser a -> String -> Maybe a
run prs s =
case Parser.run prs s of
Ok a -> Just a
Err _ -> Nothing