Add check to make sure re-parsed AST is equal.

This commit is contained in:
Alex Zenla 2023-08-21 00:59:55 -07:00
parent 1de73ed855
commit 5f4d74008e
Signed by: alex
GPG Key ID: C0780728420EBFE5

View File

@ -46,8 +46,13 @@ fun main(args: Array<String>) {
}
val generated = buildString { Printer(this).visit(program) }
val parsedAst = parse(tokenize(generated))
parse(tokenize(generated))
println(generated)
if (program != parsedAst) {
throw RuntimeException("Equality of parsed AST from printer was not proven.")
}
}
fun tokenize(input: String): TokenStream =