@tabnas/abnf 0.4.13 → 0.4.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/dist/abnf.d.ts +1 -1
- package/dist/abnf.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
ABNF grammar compiler for the
|
|
4
4
|
[`tabnas`](https://github.com/rjrodger/tabnas) parser.
|
|
5
5
|
|
|
6
|
-
Takes ABNF source (the RFC 5234 dialect
|
|
6
|
+
Takes ABNF source (the RFC 5234 dialect: `=` and `/`, not `::=`) and
|
|
7
7
|
emits a tabnas `GrammarSpec`. Installed on an engine, the spec parses
|
|
8
8
|
inputs in that grammar and builds a `{rule, src, kids}` AST. It can also
|
|
9
9
|
emit "pure-data" jsonic and supports user actions. Ships the
|
|
@@ -82,11 +82,11 @@ tn.parse('1+2+3').kids.map((k) => k.rule) // => ['term', 'term']
|
|
|
82
82
|
Because it is a rewrite, the tree is **flat** (no nested `expr`; the
|
|
83
83
|
leading operand folds into the rule, so associativity is applied in an
|
|
84
84
|
action, not read off the AST), and `@ref` alt actions on the rewritten
|
|
85
|
-
branches are look-up-only
|
|
85
|
+
branches are look-up-only; attach actions to the sub-rules instead. A
|
|
86
86
|
**purely** left-recursive rule (no non-recursive branch) is an error, and
|
|
87
87
|
a rewritten rule does not round-trip back to its left-recursive source.
|
|
88
88
|
(`PL = "+"` compiles to a token, not a rule, so the operators are not
|
|
89
|
-
among the children
|
|
89
|
+
among the children: only `term` is.)
|
|
90
90
|
See [concepts.md](doc/concepts.md) and the root
|
|
91
91
|
[README](../README.md#left-recursion) for the full details and caveats.
|
|
92
92
|
|
|
@@ -94,11 +94,11 @@ See [concepts.md](doc/concepts.md) and the root
|
|
|
94
94
|
|
|
95
95
|
Four-quadrant [Diátaxis](https://diataxis.fr) docs:
|
|
96
96
|
|
|
97
|
-
- [tutorial.md](doc/tutorial.md)
|
|
97
|
+
- [tutorial.md](doc/tutorial.md). Learning-oriented: zero to a working
|
|
98
98
|
parser, step by step.
|
|
99
|
-
- [guide.md](doc/guide.md)
|
|
100
|
-
- [reference.md](doc/reference.md)
|
|
101
|
-
- [concepts.md](doc/concepts.md)
|
|
99
|
+
- [guide.md](doc/guide.md). Task-oriented recipes for real problems.
|
|
100
|
+
- [reference.md](doc/reference.md). The exact API surface and CLI flags.
|
|
101
|
+
- [concepts.md](doc/concepts.md). How the compiler works and why.
|
|
102
102
|
|
|
103
103
|
## CLI
|
|
104
104
|
|
package/dist/abnf.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ import { abnfCompile, toRecognitionSpec, toPureSpec, toJsonic, attachActions, at
|
|
|
4
4
|
declare const abnf: Plugin;
|
|
5
5
|
export { VERSION, abnf, abnfConvert, parseAbnf, emitGrammarSpec, eliminateLeftRecursion, abnfRules, AbnfParseError, abnfCompile, toRecognitionSpec, toPureSpec, toJsonic, attachActions, attachActionSlots, markListing, AbnfCompileError, AbnfActionError, };
|
|
6
6
|
export type { AbnfConvertOptions, AbnfCompileOptions, ActionsMap };
|
|
7
|
-
declare const VERSION = "0.4.
|
|
7
|
+
declare const VERSION = "0.4.14";
|
package/dist/abnf.js
CHANGED
|
@@ -36,6 +36,6 @@ exports.abnf = abnf;
|
|
|
36
36
|
// VERSION is this package's version. It MUST equal package.json "version":
|
|
37
37
|
// the release orchestrator rewrites both, and the version test fails the
|
|
38
38
|
// build if they drift. Mirrors `const VERSION` in go/abnf.go.
|
|
39
|
-
const VERSION = '0.4.
|
|
39
|
+
const VERSION = '0.4.14';
|
|
40
40
|
exports.VERSION = VERSION;
|
|
41
41
|
//# sourceMappingURL=abnf.js.map
|