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

definition:
parseParenTerm :: SMTParser SMT.Term
parseParenTerm
     -- parser for negative numbers
  =  return (SMT.TConst . SMT.Num) <*> parseNum <* terminal RParen
     -- parser for qualified identifiers
 <|> terminal KW_as *> return SMT.TComb <*> (return SMT.As <*> parseSym
                   <*> parseSort) <*> return [] <* terminal RParen
     -- parser for complex terms
 <|> return SMT.TComb <*> parseQIdent <*> some parseTerm <* terminal RParen
     -- parser for let terms
 <|> terminal KW_let *> return SMT.Let <* terminal LParen <*> some parseVarBind
                    <* terminal RParen <*> parseTerm <* terminal RParen
     -- parser for universally quantified terms
 <|> terminal KW_forall *> return SMT.Forall <* terminal LParen
                       <*> some parseSortedVar <* terminal RParen
                       <*> parseTerm <* terminal RParen
     -- parser for existentially quantified terms
 <|> terminal KW_exists *> return SMT.Exists <* terminal LParen
                       <*> some parseSortedVar <* terminal RParen
                       <*> parseTerm <* terminal RParen
     -- parser for annotated terms
 <|> terminal Bang *> return SMT.Annot <*> parseTerm <*> some parseAttribute
                  <* terminal RParen
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
--- parser for parenthesized terms
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{() |-> _}
name:
parseParenTerm
precedence:
no precedence defined
result-values:
_
signature:
ParserComb.Parser Language.SMTLIB.Scanner.Token Language.SMTLIB.Types.Term
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term