nova-parser.nv
· 6.2 KiB · Text
Raw
Playground
|:: parse nova|
:: normalize whitespace
:: parse the container format
:: parse the label format
:: parse patterns
|:: normalize whitespace? :src: 9| :processed: 32
|:: normalize whitespace? :src: 10| :processed: 32
|:: normalize whitespace? :src: 13| :processed: 32
|:: normalize whitespace? :src: 32| :processed: 32
|:: normalize whitespace? :src: $char| :processed: $char
|:: normalize whitespace | :: prepare next pass
|:: parse the container format? :src: $delim :delim: $delim? :left:| :processed: rule
|:: parse the container format? :src: $delim :delim: $delim? | :processed: rule :left:
|:: parse the container format? :src: $char :delim: $delim? | :processed: $char
|:: parse the container format? :src: 32 |
|:: parse the container format? :src: $char | :processed: rule :delim: $char :left:
|:: parse the container format :delim: $delim :left:| :: prepare next pass :processed: end :processed: rule
|:: parse the container format :delim: $delim | :: prepare next pass :processed: end
|:: parse the container format |
|:: parse the label format? :src: rule :delim: $delim? :in label:| :processed: rule :processed: label
|:: parse the label format? :src: $delim :delim: $delim? :in label:| :processed: label
|:: parse the label format? :src: $delim :delim: $delim? | :processed: label :in label:
|:: parse the label format? :src: $char :delim: $delim? | :processed: $char
|:: parse the label format? :src: 32 |
|:: parse the label format? :src: rule | :processed: rule
|:: parse the label format? :src: $char | :processed: label :delim: $char :in label:
|:: parse the label format :delim: $delim | :: prepare next pass
|:: parse the label format | :: prepare next pass
|:: parse patterns? :src: label :in label: | :processed: label
|:: parse patterns? :src: $char :in label:?| :processed: $char
|:: parse patterns? :src: 32 :processed: rule? |
|:: parse patterns? :src: 32 :processed: label? |
|:: parse patterns? :src: 32 :processed: symbol? |
|:: parse patterns? :src: rule :processed: symbol | :processed: rule
|:: parse patterns? :src: label | :processed: label :in label:
|:: parse patterns? :src: 32 | :processed: symbol
|:: parse patterns? :src: $char | :processed: $char
|:: parse patterns | :: prepare next pass
|:: prepare next pass? :processed: $symbol| :src: $symbol
|:: prepare next pass |
|| :: parse nova :src: "
>== parse nova>
== normalize whitespace
== parse the container format
== parse the label format
== parse patterns
>== normalize whitespace? =src= 9> =processed= 32
>== normalize whitespace? =src= 10> =processed= 32
>== normalize whitespace? =src= 13> =processed= 32
>== normalize whitespace? =src= 32> =processed= 32
>== normalize whitespace? =src= $char> =processed= $char
>== normalize whitespace > == prepare next pass
>== parse the container format? =src= $delim =delim= $delim? =left=> =processed= rule
>== parse the container format? =src= $delim =delim= $delim? > =processed= rule =left=
>== parse the container format? =src= $char =delim= $delim? > =processed= $char
>== parse the container format? =src= 32 >
>== parse the container format? =src= $char > =processed= rule =delim= $char =left=
>== parse the container format =delim= $delim =left=> == prepare next pass =processed= end =processed= rule
>== parse the container format =delim= $delim > == prepare next pass =processed= end
>== parse the container format >
>== parse the label format? =src= rule =delim= $delim? =in label=> =processed= rule =processed= label
>== parse the label format? =src= $delim =delim= $delim? =in label=> =processed= label
>== parse the label format? =src= $delim =delim= $delim? > =processed= label =in label=
>== parse the label format? =src= $char =delim= $delim? > =processed= $char
>== parse the label format? =src= 32 >
>== parse the label format? =src= rule > =processed= rule
>== parse the label format? =src= $char > =processed= label =delim= $char =in label=
>== parse the label format =delim= $delim > == prepare next pass
>== parse the label format > == prepare next pass
>== parse patterns? =src= label =in label= > =processed= label
>== parse patterns? =src= $char =in label=?> =processed= $char
>== parse patterns? =src= 32 =processed= rule? >
>== parse patterns? =src= 32 =processed= label? >
>== parse patterns? =src= 32 =processed= symbol? >
>== parse patterns? =src= rule =processed= symbol > =processed= rule
>== parse patterns? =src= label > =processed= label =in label=
>== parse patterns? =src= 32 > =processed= symbol
>== parse patterns? =src= $char > =processed= $char
>== parse patterns > == prepare next pass
>== prepare next pass? =processed= $symbol> =src= $symbol
>== prepare next pass >
"
:: print 'src'
|:: print 'src'? :src: rule :left:| :: print (formatted) :message: 124 :message: 10 :message: 9
|:: print 'src'? :src: rule | :: print (formatted) :message: 10 :message: 124 :left:
|:: print 'src'? :src: label | :: print (formatted) :message: 58
|:: print 'src'? :src: symbol | :: print (formatted) :message: 32
|:: print 'src' :src: end | :: print (formatted) :message: 10
|:: print 'src'? :src: $char | :: print (formatted) :message: $char
|:: print 'src' | :: print (formatted) :message: 10
| 1 | |:: parse nova| |
| 2 | :: normalize whitespace |
| 3 | :: parse the container format |
| 4 | :: parse the label format |
| 5 | :: parse patterns |
| 6 | |
| 7 | |:: normalize whitespace? :src: 9| :processed: 32 |
| 8 | |:: normalize whitespace? :src: 10| :processed: 32 |
| 9 | |:: normalize whitespace? :src: 13| :processed: 32 |
| 10 | |:: normalize whitespace? :src: 32| :processed: 32 |
| 11 | |:: normalize whitespace? :src: $char| :processed: $char |
| 12 | |:: normalize whitespace | :: prepare next pass |
| 13 | |
| 14 | |:: parse the container format? :src: $delim :delim: $delim? :left:| :processed: rule |
| 15 | |:: parse the container format? :src: $delim :delim: $delim? | :processed: rule :left: |
| 16 | |:: parse the container format? :src: $char :delim: $delim? | :processed: $char |
| 17 | |:: parse the container format? :src: 32 | |
| 18 | |:: parse the container format? :src: $char | :processed: rule :delim: $char :left: |
| 19 | |:: parse the container format :delim: $delim :left:| :: prepare next pass :processed: end :processed: rule |
| 20 | |:: parse the container format :delim: $delim | :: prepare next pass :processed: end |
| 21 | |:: parse the container format | |
| 22 | |
| 23 | |:: parse the label format? :src: rule :delim: $delim? :in label:| :processed: rule :processed: label |
| 24 | |:: parse the label format? :src: $delim :delim: $delim? :in label:| :processed: label |
| 25 | |:: parse the label format? :src: $delim :delim: $delim? | :processed: label :in label: |
| 26 | |:: parse the label format? :src: $char :delim: $delim? | :processed: $char |
| 27 | |:: parse the label format? :src: 32 | |
| 28 | |:: parse the label format? :src: rule | :processed: rule |
| 29 | |:: parse the label format? :src: $char | :processed: label :delim: $char :in label: |
| 30 | |:: parse the label format :delim: $delim | :: prepare next pass |
| 31 | |:: parse the label format | :: prepare next pass |
| 32 | |
| 33 | |:: parse patterns? :src: label :in label: | :processed: label |
| 34 | |:: parse patterns? :src: $char :in label:?| :processed: $char |
| 35 | |:: parse patterns? :src: 32 :processed: rule? | |
| 36 | |:: parse patterns? :src: 32 :processed: label? | |
| 37 | |:: parse patterns? :src: 32 :processed: symbol? | |
| 38 | |:: parse patterns? :src: rule :processed: symbol | :processed: rule |
| 39 | |:: parse patterns? :src: label | :processed: label :in label: |
| 40 | |:: parse patterns? :src: 32 | :processed: symbol |
| 41 | |:: parse patterns? :src: $char | :processed: $char |
| 42 | |:: parse patterns | :: prepare next pass |
| 43 | |
| 44 | |:: prepare next pass? :processed: $symbol| :src: $symbol |
| 45 | |:: prepare next pass | |
| 46 | |
| 47 | || :: parse nova :src: " |
| 48 | >== parse nova> |
| 49 | == normalize whitespace |
| 50 | == parse the container format |
| 51 | == parse the label format |
| 52 | == parse patterns |
| 53 | |
| 54 | >== normalize whitespace? =src= 9> =processed= 32 |
| 55 | >== normalize whitespace? =src= 10> =processed= 32 |
| 56 | >== normalize whitespace? =src= 13> =processed= 32 |
| 57 | >== normalize whitespace? =src= 32> =processed= 32 |
| 58 | >== normalize whitespace? =src= $char> =processed= $char |
| 59 | >== normalize whitespace > == prepare next pass |
| 60 | |
| 61 | >== parse the container format? =src= $delim =delim= $delim? =left=> =processed= rule |
| 62 | >== parse the container format? =src= $delim =delim= $delim? > =processed= rule =left= |
| 63 | >== parse the container format? =src= $char =delim= $delim? > =processed= $char |
| 64 | >== parse the container format? =src= 32 > |
| 65 | >== parse the container format? =src= $char > =processed= rule =delim= $char =left= |
| 66 | >== parse the container format =delim= $delim =left=> == prepare next pass =processed= end =processed= rule |
| 67 | >== parse the container format =delim= $delim > == prepare next pass =processed= end |
| 68 | >== parse the container format > |
| 69 | |
| 70 | >== parse the label format? =src= rule =delim= $delim? =in label=> =processed= rule =processed= label |
| 71 | >== parse the label format? =src= $delim =delim= $delim? =in label=> =processed= label |
| 72 | >== parse the label format? =src= $delim =delim= $delim? > =processed= label =in label= |
| 73 | >== parse the label format? =src= $char =delim= $delim? > =processed= $char |
| 74 | >== parse the label format? =src= 32 > |
| 75 | >== parse the label format? =src= rule > =processed= rule |
| 76 | >== parse the label format? =src= $char > =processed= label =delim= $char =in label= |
| 77 | >== parse the label format =delim= $delim > == prepare next pass |
| 78 | >== parse the label format > == prepare next pass |
| 79 | |
| 80 | >== parse patterns? =src= label =in label= > =processed= label |
| 81 | >== parse patterns? =src= $char =in label=?> =processed= $char |
| 82 | >== parse patterns? =src= 32 =processed= rule? > |
| 83 | >== parse patterns? =src= 32 =processed= label? > |
| 84 | >== parse patterns? =src= 32 =processed= symbol? > |
| 85 | >== parse patterns? =src= rule =processed= symbol > =processed= rule |
| 86 | >== parse patterns? =src= label > =processed= label =in label= |
| 87 | >== parse patterns? =src= 32 > =processed= symbol |
| 88 | >== parse patterns? =src= $char > =processed= $char |
| 89 | >== parse patterns > == prepare next pass |
| 90 | |
| 91 | >== prepare next pass? =processed= $symbol> =src= $symbol |
| 92 | >== prepare next pass > |
| 93 | " |
| 94 | :: print 'src' |
| 95 | |
| 96 | |
| 97 | |:: print 'src'? :src: rule :left:| :: print (formatted) :message: 124 :message: 10 :message: 9 |
| 98 | |:: print 'src'? :src: rule | :: print (formatted) :message: 10 :message: 124 :left: |
| 99 | |:: print 'src'? :src: label | :: print (formatted) :message: 58 |
| 100 | |:: print 'src'? :src: symbol | :: print (formatted) :message: 32 |
| 101 | |:: print 'src' :src: end | :: print (formatted) :message: 10 |
| 102 | |:: print 'src'? :src: $char | :: print (formatted) :message: $char |
| 103 | |:: print 'src' | :: print (formatted) :message: 10 |