v0.4.0
BREAKING π
Parcera now uses Antlr4 as its parsing engine instead of Instaparse. π
This drops the parsing time significantly. For comparison (on my machine) it took instaparse 3 seconds
to parse clojure.core file (~8k loc), with antlr this drops to 100 milliseconds
. Converting it to clojure persistent data structures adds some overhead but it is still way faster than instaparse in all cases that I tested.
Clojurescript support was dropped for the time being.
CHANGES
- all
-
in keywords were changed to_
to allow compatibility with antlr4 allowed characters:simple-keyword
->:simple_keyword
:macro-keyword
->:macro_keyword
:conditional-splicing
->:conditional_splicing
:namespaced-map
->:namespaced_map
:reader-macro
->:reader_macro
:metadata-entry
->:metadata_entry
:auto-resolve
->:auto_resolve
var-quote
->:var_quote
- keywords now dont include the
:
or::
as part of their content and follow Clojure's name syntax parcera/clojure
function was renamed toparcera/ast
for clarity on its purposeast
returns a lazy sequence instead of the eager implementation from Instaparse
- parcera now checks that maps, sets literals conform to Clojure syntax