kdrag.parsers.sexp
Functions
| 
 | Parse an s-expression | 
| 
 | Pretty print a single s-expression | 
| 
 | Pretty print s-expressions | 
- kdrag.parsers.sexp.parse(s: str) list[Sexp]
- Parse an s-expression - >>> parse("(foo (bar X Y) Z); yoyoyo \n (foo)") [['foo', ['bar', 'X', 'Y'], 'Z'], ['foo']] >>> parse(" (define-const x Int) (define-fun f ((a Int) (b Int)) Int) (assert (= (f x 3) 4 4.7)) (check-sat) ") [['define-const', 'x', 'Int'], ['define-fun', 'f', [['a', 'Int'], ['b', 'Int']], 'Int'], ['assert', ['=', ['f', 'x', 3], 4, 4.7]], ['check-sat']] >>> parse("(-17)") [[-17]] >>> parse("(- 1 2 3 -3.6)") [['-', 1, 2, 3, -3.6]] >>> parse("(foo @@@)") Traceback (most recent call last): ... ValueError: ('unexpected characters', '@@@', '(foo @@@)') - Parameters:
- s (str) 
- Return type:
- list[Sexp] 
 
- kdrag.parsers.sexp.pprint_sexp(sexp: Sexp) str
- Pretty print a single s-expression - >>> sexp = parse("(foo (bar X Y) Z); yoyoyo \n (foo)")[0] >>> pprint_sexp(sexp) '(foo (bar X Y) Z)' - Parameters:
- sexp (Sexp) 
- Return type:
- str 
 
- kdrag.parsers.sexp.pprint_sexps(sexps: list[Sexp]) str
- Pretty print s-expressions - >>> sexps = parse("(foo (bar X Y) Z); yoyoyo \n (foo)") >>> print(pprint_sexps(sexps)) (foo (bar X Y) Z) (foo) - Parameters:
- sexps (list[Sexp]) 
- Return type:
- str