UNPKG

mini-program-cljs

Version:

1 lines 43.5 kB
["^ ","~:output",["^ ","~:js","goog.provide('instaparse.print');\ninstaparse.print.paren_for_tags = (function instaparse$print$paren_for_tags(tag_set,hidden_QMARK_,parser){\nif(cljs.core.truth_(((cljs.core.not(hidden_QMARK_))?(function (){var G__25851 = (parser.cljs$core$IFn$_invoke$arity$1 ? parser.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\"tag\",\"tag\",-1290361223)) : parser.call(null,new cljs.core.Keyword(null,\"tag\",\"tag\",-1290361223)));\nreturn (tag_set.cljs$core$IFn$_invoke$arity$1 ? tag_set.cljs$core$IFn$_invoke$arity$1(G__25851) : tag_set.call(null,G__25851));\n})():false))){\nreturn [\"(\",cljs.core.str.cljs$core$IFn$_invoke$arity$1((instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$2 ? instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$2(parser,false) : instaparse.print.combinators__GT_str.call(null,parser,false))),\")\"].join('');\n} else {\nreturn (instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$2 ? instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$2(parser,false) : instaparse.print.combinators__GT_str.call(null,parser,false));\n}\n});\ninstaparse.print.paren_for_compound = cljs.core.partial.cljs$core$IFn$_invoke$arity$2(instaparse.print.paren_for_tags,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\"cat\",\"cat\",-1457810207),null,new cljs.core.Keyword(null,\"ord\",\"ord\",1142548323),null,new cljs.core.Keyword(null,\"alt\",\"alt\",-3214426),null], null), null));\n/**\n * Replaces whitespace characters with escape sequences for better printing\n */\ninstaparse.print.regexp_replace = (function instaparse$print$regexp_replace(s){\nvar G__25852 = s;\nswitch (G__25852) {\ncase \"\\n\":\nreturn \"\\\\n\";\n\nbreak;\ncase \"\\b\":\nreturn \"\\\\b\";\n\nbreak;\ncase \"\\f\":\nreturn \"\\\\f\";\n\nbreak;\ncase \"\\r\":\nreturn \"\\\\r\";\n\nbreak;\ncase \"\\t\":\nreturn \"\\\\t\";\n\nbreak;\ndefault:\nreturn s;\n\n}\n});\ninstaparse.print.regexp__GT_str = (function instaparse$print$regexp__GT_str(r){\nreturn clojure.string.replace([\"#\\\"\",cljs.core.subs.cljs$core$IFn$_invoke$arity$2(r.source,(1)),\"\\\"\"].join(''),/[\\s]/,instaparse.print.regexp_replace);\n});\ninstaparse.print.number__GT_hex_padded = (function instaparse$print$number__GT_hex_padded(n){\nif((n <= (4095))){\nreturn [\"0000\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(n.toString((16)))].join('').substr((-4));\n} else {\nreturn n.toString((16));\n}\n});\n\ninstaparse.print.char_range__GT_str = (function instaparse$print$char_range__GT_str(p__25853){\nvar map__25854 = p__25853;\nvar map__25854__$1 = (((((!((map__25854 == null))))?(((((map__25854.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__25854.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__25854):map__25854);\nvar lo = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25854__$1,new cljs.core.Keyword(null,\"lo\",\"lo\",-931799889));\nvar hi = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25854__$1,new cljs.core.Keyword(null,\"hi\",\"hi\",-1821422114));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(lo,hi)){\nreturn [\"%x\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.number__GT_hex_padded(lo))].join('');\n} else {\nreturn [\"%x\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.number__GT_hex_padded(lo)),\"-\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.number__GT_hex_padded(hi))].join('');\n}\n});\n/**\n * Stringifies a parser built from combinators\n */\ninstaparse.print.combinators__GT_str = (function instaparse$print$combinators__GT_str(var_args){\nvar G__25858 = arguments.length;\nswitch (G__25858) {\ncase 1:\nreturn instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$1 = (function (p){\nreturn instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$2(p,false);\n}));\n\n(instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$2 = (function (p__25859,hidden_QMARK_){\nvar map__25860 = p__25859;\nvar map__25860__$1 = (((((!((map__25860 == null))))?(((((map__25860.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__25860.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__25860):map__25860);\nvar p = map__25860__$1;\nvar parser = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25860__$1,new cljs.core.Keyword(null,\"parser\",\"parser\",-1543495310));\nvar parser1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25860__$1,new cljs.core.Keyword(null,\"parser1\",\"parser1\",-439601422));\nvar parser2 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25860__$1,new cljs.core.Keyword(null,\"parser2\",\"parser2\",1013754688));\nvar parsers = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25860__$1,new cljs.core.Keyword(null,\"parsers\",\"parsers\",-804353827));\nvar tag = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25860__$1,new cljs.core.Keyword(null,\"tag\",\"tag\",-1290361223));\nif(cljs.core.truth_(((cljs.core.not(hidden_QMARK_))?new cljs.core.Keyword(null,\"hide\",\"hide\",-596913169).cljs$core$IFn$_invoke$arity$1(p):false))){\nreturn [\"<\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$2(p,true)),\">\"].join('');\n} else {\nvar G__25862 = tag;\nvar G__25862__$1 = (((G__25862 instanceof cljs.core.Keyword))?G__25862.fqn:null);\nswitch (G__25862__$1) {\ncase \"epsilon\":\nreturn \"\\u03B5\";\n\nbreak;\ncase \"opt\":\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.paren_for_compound(hidden_QMARK_,parser)),\"?\"].join('');\n\nbreak;\ncase \"plus\":\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.paren_for_compound(hidden_QMARK_,parser)),\"+\"].join('');\n\nbreak;\ncase \"star\":\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.paren_for_compound(hidden_QMARK_,parser)),\"*\"].join('');\n\nbreak;\ncase \"rep\":\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\"min\",\"min\",444991522).cljs$core$IFn$_invoke$arity$1(p),new cljs.core.Keyword(null,\"max\",\"max\",61366548).cljs$core$IFn$_invoke$arity$1(p))){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.paren_for_compound(hidden_QMARK_,parser)),\"{\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\"min\",\"min\",444991522).cljs$core$IFn$_invoke$arity$1(p)),\",\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\"max\",\"max\",61366548).cljs$core$IFn$_invoke$arity$1(p)),\"}\"].join('');\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.paren_for_compound(hidden_QMARK_,parser)),\"{\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\"min\",\"min\",444991522).cljs$core$IFn$_invoke$arity$1(p)),\"}\"].join('');\n}\n\nbreak;\ncase \"alt\":\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\" | \",cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$3(instaparse.print.paren_for_tags,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"ord\",\"ord\",1142548323),null], null), null),hidden_QMARK_),parsers));\n\nbreak;\ncase \"ord\":\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.paren_for_tags(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"alt\",\"alt\",-3214426),null], null), null),hidden_QMARK_,parser1)),\" / \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.paren_for_tags(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"alt\",\"alt\",-3214426),null], null), null),hidden_QMARK_,parser2))].join('');\n\nbreak;\ncase \"cat\":\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\" \",cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$3(instaparse.print.paren_for_tags,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"ord\",\"ord\",1142548323),null,new cljs.core.Keyword(null,\"alt\",\"alt\",-3214426),null], null), null),hidden_QMARK_),parsers));\n\nbreak;\ncase \"string\":\nvar sb__4720__auto__ = (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__25881_25911 = cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__25882_25912 = cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__25883_25913 = true;\nvar _STAR_print_fn_STAR__temp_val__25884_25914 = (function (x__4721__auto__){\nreturn sb__4720__auto__.append(x__4721__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__25883_25913);\n\n(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__25884_25914);\n\ntry{cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\"string\",\"string\",-1989541586).cljs$core$IFn$_invoke$arity$1(p)], 0));\n}finally {(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__25882_25912);\n\n(cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__25881_25911);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4720__auto__);\n\nbreak;\ncase \"string-ci\":\nvar sb__4720__auto__ = (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__25885_25915 = cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__25886_25916 = cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__25887_25917 = true;\nvar _STAR_print_fn_STAR__temp_val__25888_25918 = (function (x__4721__auto__){\nreturn sb__4720__auto__.append(x__4721__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__25887_25917);\n\n(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__25888_25918);\n\ntry{cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\"string\",\"string\",-1989541586).cljs$core$IFn$_invoke$arity$1(p)], 0));\n}finally {(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__25886_25916);\n\n(cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__25885_25915);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4720__auto__);\n\nbreak;\ncase \"char\":\nreturn instaparse.print.char_range__GT_str(p);\n\nbreak;\ncase \"regexp\":\nreturn instaparse.print.regexp__GT_str(new cljs.core.Keyword(null,\"regexp\",\"regexp\",-541372782).cljs$core$IFn$_invoke$arity$1(p));\n\nbreak;\ncase \"nt\":\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\"keyword\",\"keyword\",811389747).cljs$core$IFn$_invoke$arity$1(p)),(1));\n\nbreak;\ncase \"look\":\nreturn [\"&\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.paren_for_compound(hidden_QMARK_,parser))].join('');\n\nbreak;\ncase \"neg\":\nreturn [\"!\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.paren_for_compound(hidden_QMARK_,parser))].join('');\n\nbreak;\ndefault:\nthrow (new Error([\"No matching clause: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__25862__$1)].join('')));\n\n}\n}\n}));\n\n(instaparse.print.combinators__GT_str.cljs$lang$maxFixedArity = 2);\n\n/**\n * Takes a non-terminal symbol and a parser built from combinators,\n * and returns a string for the rule.\n */\ninstaparse.print.rule__GT_str = (function instaparse$print$rule__GT_str(non_terminal,parser){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\"reduction-type\",\"reduction-type\",-488293450).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\"red\",\"red\",-969428204).cljs$core$IFn$_invoke$arity$1(parser)),new cljs.core.Keyword(null,\"raw\",\"raw\",1604651272))){\nreturn [\"<\",cljs.core.name(non_terminal),\">\",\" = \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$1(parser))].join('');\n} else {\nreturn [cljs.core.name(non_terminal),\" = \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(instaparse.print.combinators__GT_str.cljs$core$IFn$_invoke$arity$1(parser))].join('');\n}\n});\n/**\n * Takes a Parser object, i.e., something with a grammar map and a start \n * production keyword, and stringifies it.\n */\ninstaparse.print.Parser__GT_str = (function instaparse$print$Parser__GT_str(p__25890){\nvar map__25891 = p__25890;\nvar map__25891__$1 = (((((!((map__25891 == null))))?(((((map__25891.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__25891.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__25891):map__25891);\nvar grammar = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25891__$1,new cljs.core.Keyword(null,\"grammar\",\"grammar\",1881328267));\nvar start = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25891__$1,new cljs.core.Keyword(null,\"start-production\",\"start-production\",687546537));\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\"\\n\",cljs.core.cons(instaparse.print.rule__GT_str(start,(grammar.cljs$core$IFn$_invoke$arity$1 ? grammar.cljs$core$IFn$_invoke$arity$1(start) : grammar.call(null,start))),(function (){var iter__4582__auto__ = (function instaparse$print$Parser__GT_str_$_iter__25893(s__25894){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__25894__$1 = s__25894;\nwhile(true){\nvar temp__5735__auto__ = cljs.core.seq(s__25894__$1);\nif(temp__5735__auto__){\nvar s__25894__$2 = temp__5735__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__25894__$2)){\nvar c__4580__auto__ = cljs.core.chunk_first(s__25894__$2);\nvar size__4581__auto__ = cljs.core.count(c__4580__auto__);\nvar b__25896 = cljs.core.chunk_buffer(size__4581__auto__);\nif((function (){var i__25895 = (0);\nwhile(true){\nif((i__25895 < size__4581__auto__)){\nvar vec__25899 = cljs.core._nth(c__4580__auto__,i__25895);\nvar non_terminal = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25899,(0),null);\nvar parser = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25899,(1),null);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(non_terminal,start)){\ncljs.core.chunk_append(b__25896,instaparse.print.rule__GT_str(non_terminal,parser));\n\nvar G__25930 = (i__25895 + (1));\ni__25895 = G__25930;\ncontinue;\n} else {\nvar G__25931 = (i__25895 + (1));\ni__25895 = G__25931;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25896),instaparse$print$Parser__GT_str_$_iter__25893(cljs.core.chunk_rest(s__25894__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25896),null);\n}\n} else {\nvar vec__25904 = cljs.core.first(s__25894__$2);\nvar non_terminal = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25904,(0),null);\nvar parser = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25904,(1),null);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(non_terminal,start)){\nreturn cljs.core.cons(instaparse.print.rule__GT_str(non_terminal,parser),instaparse$print$Parser__GT_str_$_iter__25893(cljs.core.rest(s__25894__$2)));\n} else {\nvar G__25932 = cljs.core.rest(s__25894__$2);\ns__25894__$1 = G__25932;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__4582__auto__(grammar);\n})()));\n});\n","~:ns-info",["^ ","~:rename-macros",null,"~:renames",["^ "],"~:meta",["^ ","~:doc","Facilities for taking parsers and grammars, and converting them to strings.\n Used for pretty-printing.","~:file","instaparse/print.cljc","~:line",1,"~:column",5,"~:end-line",1,"~:end-column",21],"~:ns-aliases",["^ ","~$cljs.loader","~$shadow.loader"],"~:use-macros",null,"~:excludes",["~#set",[]],"~:name","~$instaparse.print","~:op","~:ns","~:imports",null,"~:requires",["^ ","~$clojure.string","^H","~$str","^H","~$cljs.core","^J","~$goog","^K"],"~:seen",["^A",["~:require"]],"~:uses",null,"~:require-macros",["^ ","^J","^J"],"~:form",["~#list",["~$ns","^C","Facilities for taking parsers and grammars, and converting them to strings.\n Used for pretty-printing.",["^Q",["^M",["^H","~:as","^I"]]]]],"~:flags",["^ ","^M",["^A",[]]],"~:js-deps",["^ "],"~:deps",["^K","^J","^H"]],"^E","^C","~:resource-id",["~:shadow.build.classpath/resource","instaparse/print.cljc"],"~:compiled-at",1590237781782,"~:resource-name","instaparse/print.cljc","~:warnings",[],"~:source","(ns instaparse.print\r\n \"Facilities for taking parsers and grammars, and converting them to strings.\r\n Used for pretty-printing.\"\r\n (:require [clojure.string :as str]))\r\n\r\n(declare combinators->str) ; mutual recursion\r\n\r\n(defn paren-for-tags [tag-set hidden? parser]\r\n (if (and (not hidden?) (tag-set (parser :tag)))\r\n (str \"(\" (combinators->str parser false) \")\")\r\n (combinators->str parser false)))\r\n\r\n(def paren-for-compound \r\n (partial paren-for-tags #{:alt :ord :cat}))\r\n\r\n(defn regexp-replace\r\n \"Replaces whitespace characters with escape sequences for better printing\" \r\n [s]\r\n (case s\r\n \"\\n\" \"\\\\n\"\r\n \"\\b\" \"\\\\b\"\r\n \"\\f\" \"\\\\f\"\r\n \"\\r\" \"\\\\r\"\r\n \"\\t\" \"\\\\t\"\r\n s)) \r\n\r\n(defn regexp->str [r]\r\n (str/replace \r\n (str \"#\\\"\"\r\n #?(:clj (str r)\r\n :cljs (subs (.-source r) 1))\r\n \"\\\"\")\r\n #\"[\\s]\" regexp-replace))\r\n\r\n#?(:clj\r\n (defn char-range->str [{:keys [lo hi]}]\r\n (if (= lo hi)\r\n (format \"%%x%04x\" lo)\r\n (format \"%%x%04x-%04x\" lo hi)))\r\n\r\n :cljs\r\n (do\r\n (defn number->hex-padded [n]\r\n (if (<= n 0xFFF)\r\n (.substr (str \"0000\" (.toString n 16)) -4)\r\n (.toString n 16)))\r\n\r\n (defn char-range->str [{:keys [lo hi]}]\r\n (if (= lo hi)\r\n (str \"%x\" (number->hex-padded lo))\r\n (str \"%x\" (number->hex-padded lo) \"-\" (number->hex-padded hi))))))\r\n\r\n(defn combinators->str\r\n \"Stringifies a parser built from combinators\"\r\n ([p] (combinators->str p false))\r\n ([{:keys [parser parser1 parser2 parsers tag] :as p} hidden?]\r\n (if (and (not hidden?) (:hide p))\r\n (str \\< (combinators->str p true) \\>)\r\n (case tag\r\n :epsilon \"\\u03b5\"\r\n :opt (str (paren-for-compound hidden? parser) \"?\")\r\n :plus (str (paren-for-compound hidden? parser) \"+\")\r\n :star (str (paren-for-compound hidden? parser) \"*\")\r\n :rep (if (not= (:min p) (:max p))\r\n (str (paren-for-compound hidden? parser) \\{ \r\n (:min p) \\, (:max p) \\})\r\n (str (paren-for-compound hidden? parser) \\{ \r\n (:min p)\\}))\r\n :alt (str/join \" | \" (map (partial paren-for-tags #{:ord} hidden?) parsers))\r\n :ord (str (paren-for-tags #{:alt} hidden? parser1)\r\n \" / \"\r\n (paren-for-tags #{:alt} hidden? parser2))\r\n :cat (str/join \" \" (map (partial paren-for-tags #{:alt :ord} hidden?) parsers))\r\n :string (with-out-str (pr (:string p)))\r\n :string-ci (with-out-str (pr (:string p)))\r\n :char (char-range->str p)\r\n :regexp (regexp->str (:regexp p))\r\n :nt (subs (str (:keyword p)) 1)\r\n :look (str \"&\" (paren-for-compound hidden? parser))\r\n :neg (str \"!\" (paren-for-compound hidden? parser))))))\r\n \r\n(defn rule->str\r\n \"Takes a non-terminal symbol and a parser built from combinators,\r\n and returns a string for the rule.\"\r\n [non-terminal parser]\r\n (if (= (-> parser :red :reduction-type) :raw)\r\n (str \\< (name non-terminal) \\> \r\n \" = \" \r\n (combinators->str parser))\r\n (str (name non-terminal)\r\n \" = \" \r\n (combinators->str parser))))\r\n\r\n(defn Parser->str\r\n \"Takes a Parser object, i.e., something with a grammar map and a start \r\n production keyword, and stringifies it.\" \r\n [{grammar :grammar start :start-production}]\r\n (str/join \\newline\r\n (cons\r\n ; Put starting production first\r\n (rule->str start (grammar start))\r\n ; Then the others\r\n (for [[non-terminal parser] grammar\r\n :when (not= non-terminal start)]\r\n (rule->str non-terminal parser)))))\r\n","~:reader-features",["^A",["~:cljs"]],"~:cljc",true,"~:source-map-compact",["^ ","mappings","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","names",["instaparse.print/paren-for-tags","tag-set","hidden?","parser","cljs.core/not","G__25851","instaparse.print/combinators->str","instaparse.print/paren-for-compound","cljs.core.partial","instaparse.print/regexp-replace","s","G__25852","instaparse.print/regexp->str","r","clojure.string/replace","cljs.core.subs","instaparse.print/number->hex-padded","n","p__25853","map__25854","cljs.core/PROTOCOL_SENTINEL","cljs.core.apply","cljs.core/hash-map","cljs.core.get","instaparse.print/char-range->str","lo","hi","cljs.core._EQ_","var_args","G__25858","js/Error","p__25859","map__25860","p","instaparse.print.combinators__GT_str","parser1","parser2","parsers","tag","G__25862","cljs.core/Keyword","cljs.core.not_EQ_","clojure.string.join","cljs.core.map","sb__4720__auto__","goog.string/StringBuffer","*print-newline*-orig-val__25881","cljs.core/*print-newline*","*print-fn*-orig-val__25882","cljs.core/*print-fn*","*print-newline*-temp-val__25883","*print-fn*-temp-val__25884","x__4721__auto__","cljs.core.pr","*print-newline*-orig-val__25885","*print-fn*-orig-val__25886","*print-newline*-temp-val__25887","*print-fn*-temp-val__25888","instaparse.print/rule->str","non-terminal","cljs.core/name","p__25890","map__25891","instaparse.print/Parser->str","grammar","start","cljs.core/cons","iter__4582__auto__","s__25894","cljs.core/LazySeq","temp__5735__auto__","cljs.core/seq","cljs.core/chunked-seq?","c__4580__auto__","size__4581__auto__","cljs.core/count","b__25896","cljs.core/chunk-buffer","i__25895","vec__25899","cljs.core/-nth","cljs.core.nth","cljs.core/chunk-append","cljs.core/chunk-cons","cljs.core/chunk","iter__25893","cljs.core/chunk-rest","vec__25904","cljs.core/first","cljs.core/rest","cljs.core/chunk-first"]],"~:used-vars",["^A",["~$clojure.string/join","~$instaparse.print/rule->str","~$instaparse.print/number->hex-padded","~$cljs.core/=","~$instaparse.print/paren-for-compound","~$cljs.core/partial","~$instaparse.print/regexp-replace","~$cljs.core/pr","~$cljs.core/not=","~$cljs.core/*print-newline*","~$instaparse.print/regexp->str","~$cljs.core/map","~$instaparse.print/combinators->str","~$instaparse.print/char-range->str","~$instaparse.print/paren-for-tags","~$clojure.string/replace","~$cljs.core/*print-fn*","~$cljs.core/not","~$cljs.core/cons","~$instaparse.print/Parser->str","~$cljs.core/name","~$cljs.core/subs","~$js/Error"]]],"~:cache-keys",["~#cmap",[["^X","goog/dom/tagname.js"],[1579837703000,"~:shadow.build.compiler/resolve",["^ ","~:require-id",null,"~:deps-ids",["^A",[]],"~:deps-syms",["^K","~$goog.dom.HtmlElement"]]],["^X","goog/math/math.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","~$goog.array","~$goog.asserts"]]],["^X","goog/html/trustedtypes.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","goog/labs/useragent/browser.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1V","~$goog.labs.userAgent.util","~$goog.object","~$goog.string.internal"]]],["^X","goog/html/safeurl.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1W","~$goog.fs.url","~$goog.html.TrustedResourceUrl","~$goog.i18n.bidi.Dir","~$goog.i18n.bidi.DirectionalString","~$goog.string.Const","~$goog.string.TypedString","^1Z"]]],["^X","goog/array/array.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1W"]]],["^X","goog/debug/error.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","goog/dom/nodetype.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","goog/string/typedstring.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","goog/object/object.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","goog/dom/asserts.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1W"]]],"~:SHADOW-TIMESTAMP",[1585692398000,1585692398000,1579838325000],["^X","goog/math/long.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1W","~$goog.reflect"]]],["^X","goog/html/trustedresourceurl.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1W","~$goog.html.trustedtypes","^21","^22","^23","^24"]]],["^X","goog/string/internal.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","goog/functions/functions.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","goog/html/safestyle.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1V","^1W","~$goog.html.SafeUrl","^23","^24","^1Z"]]],["^X","goog/dom/safe.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1W","~$goog.dom.asserts","~$goog.functions","~$goog.html.SafeHtml","~$goog.html.SafeScript","~$goog.html.SafeStyle","^28","^20","~$goog.html.uncheckedconversions","^23","^1Z"]]],["^X","goog/structs/map.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","~$goog.iter.Iterator","~$goog.iter.StopIteration"]]],["^X","goog/html/safehtml.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1V","^1W","~$goog.dom.TagName","~$goog.dom.tags","^2<","^2=","~$goog.html.SafeStyleSheet","^28","^20","^27","^21","^22","~$goog.labs.userAgent.browser","^1Y","^23","^24","^1Z"]]],["^X","goog/dom/tags.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1Y"]]],["^X","goog/asserts/asserts.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","~$goog.debug.Error","~$goog.dom.NodeType"]]],["^X","goog/uri/uri.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1V","^1W","~$goog.string","~$goog.structs","~$goog.structs.Map","~$goog.uri.utils","~$goog.uri.utils.ComponentIndex","~$goog.uri.utils.StandardQueryParam"]]],["^X","goog/i18n/bidi.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","instaparse/print.cljc"],[1588587261000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^J","^H"]]],["^X","goog/fs/url.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","goog/base.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",[]]],["^X","goog/structs/structs.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1V","^1Y"]]],["^X","clojure/string.cljs"],[1579838325000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^J","^2G","~$goog.string.StringBuffer"]]],["^X","goog/string/string.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","~$goog.dom.safe","^2>","^23","^1Z"]]],["^X","goog/reflect/reflect.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","goog/labs/useragent/util.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1Z"]]],["^X","goog/string/stringbuffer.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","goog/iter/iter.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1V","^1W","^2:","~$goog.math"]]],["^X","goog/html/uncheckedconversions.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1W","^2;","^2<","^2=","^2C","^28","^20","^23","^1Z"]]],["^X","goog/dom/htmlelement.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K"]]],["^X","cljs/core.cljs"],[1579838325000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","~$goog.math.Long","~$goog.math.Integer","^2G","^1Y","^1V","~$goog.Uri","^2M"]]],["^X","goog/html/safescript.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1W","^27","^23","^24"]]],["^X","goog/html/safestylesheet.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1V","^1W","^2=","^1Y","^23","^24","^1Z"]]],["^X","goog/math/integer.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^26"]]],["^X","goog/uri/utils.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1V","^1W","^2G"]]],["^X","goog/string/const.js"],[1579837703000,"^1Q",["^ ","^1R",null,"^1S",["^A",[]],"^1T",["^K","^1W","^24"]]]]],"~:clj-info",["^ ","jar:file:/Users/clojure/.m2/repository/org/clojure/tools.reader/1.3.2/tools.reader-1.3.2.jar!/clojure/tools/reader/reader_types.clj",1569150464000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/source_map/base64_vlq.clj",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/core.clj",1569048150000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/source_map/base64.clj",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/edn.clj",1569048150000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/source_map.clj",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/string.clj",1569048150000,"jar:file:/Users/clojure/.m2/repository/org/clojure/tools.reader/1.3.2/tools.reader-1.3.2.jar!/clojure/tools/reader/impl/inspect.clj",1569150464000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/instant.clj",1569048150000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/pprint.clj",1569048150000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/set.clj",1569048150000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/java/io.clj",1569048150000,"jar:file:/Users/clojure/.m2/repository/org/clojure/tools.reader/1.3.2/tools.reader-1.3.2.jar!/clojure/tools/reader.clj",1569150464000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/env.cljc",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/compiler.cljc",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/util.cljc",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/tagged_literals.cljc",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/externs.clj",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/tools.reader/1.3.2/tools.reader-1.3.2.jar!/clojure/tools/reader/default_data_readers.clj",1569150464000,"jar:file:/Users/clojure/.m2/repository/org/clojure/data.json/0.2.6/data.json-0.2.6.jar!/clojure/data/json.clj",1569048105000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/analyzer.cljc",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/core.cljc",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/clojurescript/1.10.597/clojurescript-1.10.597.jar!/cljs/js_deps.cljc",1579838325000,"jar:file:/Users/clojure/.m2/repository/org/clojure/tools.reader/1.3.2/tools.reader-1.3.2.jar!/clojure/tools/reader/impl/errors.clj",1569150464000],"~:analyzer",["^ ","^3",null,"^4",["^ "],"^5",["^ ","^6","Facilities for taking parsers and grammars, and converting them to strings.\n Used for pretty-printing.","^7","instaparse/print.cljc","^8",1,"^9",5,"^:",1,"^;",21],"^<",["^ ","^=","^>"],"^?",null,"^@",["^A",[]],"^B","^C","^F",null,"^G",["^ ","^H","^H","^I","^H","^J","^J","^K","^K"],"^L",["^A",["^M"]],"~:shadow/js-access-global",["^A",["Error"]],"^N",null,"~:defs",["^ ","~$regexp-replace",["^ ","~:protocol-inline",null,"^5",["^ ","^7","instaparse/print.cljc","^8",16,"^9",7,"^:",16,"^;",21,"~:arglists",["^Q",["~$quote",["^Q",[["~$s"]]]]],"^6","Replaces whitespace characters with escape sequences for better printing"],"^B","^1>","^7","instaparse/print.cljc","^;",21,"~:method-params",["^Q",[["~$s"]]],"~:protocol-impl",null,"~:arglists-meta",["^Q",[null,null]],"^9",1,"~:variadic?",false,"^8",16,"^:",16,"~:max-fixed-arity",1,"~:fn-var",true,"^3E",["^Q",["^3F",["^Q",[["~$s"]]]]],"^6","Replaces whitespace characters with escape sequences for better printing"],"~$combinators->str",["^ ","^3D",null,"^5",["^ ","^7","instaparse/print.cljc","^8",53,"^9",7,"^:",53,"^;",23,"^3E",["^Q",["^3F",["^Q",[["~$p"],[["^ ","~:keys",["~$parser","~$parser1","~$parser2","~$parsers","~$tag"],"^S","~$p"],"~$hidden?"]]]]],"^6","Stringifies a parser built from combinators","~:top-fn",["^ ","^3J",false,"~:fixed-arity",2,"^3K",2,"^3G",["^Q",[["~$p"],[["^ ","^3N",["^3O","^3P","^3Q","^3R","^3S"],"^S","~$p"],"^3T"]]],"^3E",["^Q",[["~$p"],[["^ ","^3N",["^3O","^3P","^3Q","^3R","^3S"],"^S","~$p"],"^3T"]]],"^3I",["^Q",[null,null]]]],"^B","^1D","^7","instaparse/print.cljc","^;",23,"^3U",["^ ","^3J",false,"^3V",2,"^3K",2,"^3G",["^Q",[["~$p"],[["^ ","^3N",["^3O","^3P","^3Q","^3R","^3S"],"^S","~$p"],"^3T"]]],"^3E",["^Q",[["~$p"],[["^ ","^3N",["^3O","^3P","^3Q","^3R","^3S"],"^S","~$p"],"^3T"]]],"^3I",["^Q",[null,null]]],"^3G",["^Q",[["~$p"],[["^ ","^3N",["^3O","^3P","^3Q","^3R","^3S"],"^S","~$p"],"^3T"]]],"^3H",null,"^3V",2,"^3I",["^Q",[null,null]],"^9",1,"^3J",false,"~:methods",[["^ ","^3V",1,"^3J",false,"~:tag","~$any"],["^ ","^3V",2,"^3J",false,"^3X",["^A",[null,"~$string"]]]],"^8",53,"^:",53,"^3K",2,"^3L",true,"^3E",["^Q",[["~$p"],[["^ ","^3N",["^3O","^3P","^3Q","^3R","^3S"],"^S","~$p"],"^3T"]]],"^6","Stringifies a parser built from combinators"],"~$char-range->str",["^ ","^3D",null,"^5",["^ ","^7","instaparse/print.cljc","^8",48,"^9",12,"^:",48,"^;",27,"^3E",["^Q",["^3F",["^Q",[[["^ ","^3N",["~$lo","~$hi"]]]]]]]],"^B","^1E","^7","instaparse/print.cljc","^;",27,"^3G",["^Q",[["~$p__25853"]]],"^3H",null,"^3I",["^Q",[null,null]],"^9",6,"^3J",false,"^8",48,"~:ret-tag","^3Z","^:",48,"^3K",1,"^3L",true,"^3E",["^Q",["^3F",["^Q",[[["^ ","^3N",["^40","^41"]]]]]]]],"~$Parser->str",["^ ","^3D",null,"^5",["^ ","^7","instaparse/print.cljc","^8",94,"^9",7,"^:",94,"^;",18,"^3E",["^Q",["^3F",["^Q",[[["^ ","~$grammar","~:grammar","~$start","~:start-production"]]]]]],"^6","Takes a Parser object, i.e., something with a grammar map and a start \n production keyword, and stringifies it."],"^B","^1K","^7","instaparse/print.cljc","^;",18,"^3G",["^Q",[["~$p__25890"]]],"^3H",null,"^3I",["^Q",[null,null]],"^9",1,"^3J",false,"^8",94,"^43","^3Z","^:",94,"^3K",1,"^3L",true,"^3E",["^Q",["^3F",["^Q",[[["^ ","^45","^46","^47","^48"]]]]]],"^6","Takes a Parser object, i.e., something with a grammar map and a start \n production keyword, and stringifies it."],"~$paren-for-tags",["^ ","^3D",null,"^5",["^ ","^7","instaparse/print.cljc","^8",8,"^9",7,"^:",8,"^;",21,"^3E",["^Q",["^3F",["^Q",[["~$tag-set","^3T","^3O"]]]]]],"^B","^1F","^7","instaparse/print.cljc","^;",21,"^3G",["^Q",[["^4;","^3T","^3O"]]],"^3H",null,"^3I",["^Q",[null,null]],"^9",1,"^3J",false,"^8",8,"^43",["^A",["^3Y","^3Z"]],"^:",8,"^3K",3,"^3L",true,"^3E",["^Q",["^3F",["^Q",[["^4;","^3T","^3O"]]]]]],"~$regexp->str",["^ ","^3D",null,"^5",["^ ","^7","instaparse/print.cljc","^8",27,"^9",7,"^:",27,"^;",18,"^3E",["^Q",["^3F",["^Q",[["~$r"]]]]]],"^B","^1B","^7","instaparse/print.cljc","^;",18,"^3G",["^Q",[["~$r"]]],"^3H",null,"^3I",["^Q",[null,null]],"^9",1,"^3J",false,"^8",27,"^43","^3Z","^:",27,"^3K",1,"^3L",true,"^3E",["^Q",["^3F",["^Q",[["~$r"]]]]]],"~$rule->str",["^ ","^3D",null,"^5",["^ ","^7","instaparse/print.cljc","^8",82,"^9",7,"^:",82,"^;",16,"^3E",["^Q",["^3F",["^Q",[["~$non-terminal","^3O"]]]]],"^6","Takes a non-terminal symbol and a parser built from combinators,\n and returns a string for the rule."],"^B","^19","^7","instaparse/print.cljc","^;",16,"^3G",["^Q",[["^4>","^3O"]]],"^3H",null,"^3I",["^Q",[null,null]],"^9",1,"^3J",false,"^8",82,"^43","^3Z","^:",82,"^3K",2,"^3L",true,"^3E",["^Q",["^3F",["^Q",[["^4>","^3O"]]]]],"^6","Takes a non-terminal symbol and a parser built from combinators,\n and returns a string for the rule."],"~$number->hex-padded",["^ ","^3D",null,"^5",["^ ","^7","instaparse/print.cljc","^8",43,"^9",12,"^:",43,"^;",30,"^3E",["^Q",["^3F",["^Q",[["~$n"]]]]]],"^B","^1:","^7","instaparse/print.cljc","^;",30,"^3G",["^Q",[["~$n"]]],"^3H",null,"^3I",["^Q",[null,null]],"^9",6,"^3J",false,"^8",43,"^43","^3Y","^:",43,"^3K",1,"^3L",true,"^3E",["^Q",["^3F",["^Q",[["~$n"]]]]]],"~$paren-for-compound",["^ ","^B","^1<","^7","instaparse/print.cljc","^8",13,"^9",1,"^:",13,"^;",24,"^5",["^ ","^7","instaparse/print.cljc","^8",13,"^9",6,"^:",13,"^;",24],"^3X","~$function"]],"^O",["^ ","^J","^J"],"~:cljs.analyzer/constants",["^ ","^L",["^A",["~:parser2","~:cat","~:min","~:ord","~:alt","~:raw","^48","^46","~:string","~:lo","~:hide","~:parser","~:regexp","~:parser1","~:keyword","~:max","~:red","~:reduction-type","^3X","~:parsers","~:hi"]],"~:order",["^3X","^4D","^4F","^4G","^4J","^4T","^4L","^4N","^4C","^4S","^4K","^4E","^4P","^4I","^4M","^4O","^4R","^4Q","^4H","^46","^48"]],"^T",["^ ","^M",["^A",[]]],"^U",["^ "],"^V",["^K","^J","^H"]],"^E","^C","~:ns-specs",["^ "],"~:ns-spec-vars",["^A",[]],"~:compiler-options",["^1P",[["^4X","~:static-fns"],true,["^4X","~:shadow-tweaks"],null,["^4X","~:source-map-inline"],null,["^4X","~:elide-asserts"],true,["^4X","~:optimize-constants"],null,["^4X","^["],null,["^4X","~:external-config"],null,["^4X","~:tooling-config"],null,["^4X","~:emit-constants"],null,["^4X","~:load-tests"],false,["^4X","~:form-size-threshold"],null,["^4X","~:infer-externs"],true,["^4X","^11"],null,["~:js-options","~:js-provider"],"^M",["~:mode"],"~:release",["^4X","~:fn-invoke-direct"],null,["^4X","~:source-map"],null]]]