mirror of
https://github.com/GayPizzaSpecifications/pork.git
synced 2025-08-03 05:10:55 +00:00
Add check to make sure re-parsed AST is equal.
This commit is contained in:
parent
1de73ed855
commit
5f4d74008e
@ -46,8 +46,13 @@ fun main(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val generated = buildString { Printer(this).visit(program) }
|
val generated = buildString { Printer(this).visit(program) }
|
||||||
|
val parsedAst = parse(tokenize(generated))
|
||||||
parse(tokenize(generated))
|
parse(tokenize(generated))
|
||||||
println(generated)
|
println(generated)
|
||||||
|
|
||||||
|
if (program != parsedAst) {
|
||||||
|
throw RuntimeException("Equality of parsed AST from printer was not proven.")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun tokenize(input: String): TokenStream =
|
fun tokenize(input: String): TokenStream =
|
||||||
|
Loading…
Reference in New Issue
Block a user