6 ms·
Ah that's interesting. I recognize SPARK because it used to be part of the Python distribution, used to parse the DSL that describes Python's AST: https://eli
by chubot 9y ago
Ah that's interesting. I recognize SPARK because it used to be part of the Python distribution, used to parse the DSL that describes Python's AST:
https://eli.thegreenplace.net/2014/06/04/using-asdl-to-describe-asts-in-compilers https://eli.thegreenplace.net/2014/06/04/using-asdl-to-descr...
In other words it was DSL used to implement a DSL used to implement Python -- how meta! But that post describes replacing it with a simple recursive descent parser in Python.
I used ASDL itself (not SPARK) extensively in my shell:
http://www.oilshell.org/blog/tags.html?tag=ASDL#ASDL http://www.oilshell.org/blog/tags.html?tag=ASDL#ASDL
But still I would say that counts as a production usage of Earley parsing! Interesting. I don't know of any others.
(On the other hand, the fact that it was replaced with a few hundred lines of Python code means it probably wasn't needed in the first place.)