CurryInfo: smtlib-3.0.0 / Language.SMTLIB.Parser.parseSExpr

definition:
parseSExpr :: SMTParser SMT.SExpr
parseSExpr = Parser $ \tokens -> case tokens of
  []          -> (runParser eof) tokens
  Num n  : ts -> Right (ts, SMT.SEConst (SMT.Num n))
  Id  s  : ts -> Right (ts, SMT.SESym s)
  Colon  : ts -> (runParser (return (SMT.SEKW . SMT.KW) <*> parseSym)) ts
  LParen : ts -> (runParser (return SMT.SEList <*> many parseSExpr
                   <* terminal RParen)) ts
  t      : ts -> (runParser (unexpected t)) ts
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
--- parser for `SExpr`
failfree:
()
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{() |-> _}
name:
parseSExpr
precedence:
no precedence defined
result-values:
_
signature:
ParserComb.Parser Language.SMTLIB.Scanner.Token Language.SMTLIB.Types.SExpr
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term