Clause parses a single clause.
(s string)
| 676 | |
| 677 | // Clause parses a single clause. |
| 678 | func Clause(s string) (ast.Clause, error) { |
| 679 | p, err := newParser(s) |
| 680 | if err != nil { |
| 681 | return ast.Clause{}, err |
| 682 | } |
| 683 | defer p.reset() |
| 684 | |
| 685 | tree := p.parser.Clause() |
| 686 | if err := p.error(); err != nil { |
| 687 | return ast.Clause{}, err |
| 688 | } |
| 689 | clause := p.Visit(tree) |
| 690 | if err := p.error(); err != nil { |
| 691 | return ast.Clause{}, err |
| 692 | } |
| 693 | return clause.(ast.Clause), nil |
| 694 | } |
| 695 | |
| 696 | // LiteralOrFormula parses a single Term, an equality or inequality from a given string. |
| 697 | func LiteralOrFormula(s string) (ast.Term, error) { |