David Majda

Results 23 issues of David Majda

We are using YARL with `mqtt:` and `mqtts:` URLs, for which default ports are not substituted. This means we have to do the substitution manually in our code. This is...

Right now, `bin/pegjs` parses options manually. This means some slightly advanced things like using `=` to separate option name and value or combining short options (`-abc` = `-a -b -c`)...

task

Hi @futagoza! During the last week I was tagged in multiple issues by @StoneCypher, who expressed his worries about PEG.js maintenance and project health (he also contacted me about this...

In #230, @Mingun suggested having Java-like annotations for rules. His use cases were memoization and rule templates (see #45): ``` @Memoize @Template(item, delimiter) List = h:(i:item delimiter {return i})* t:item?...

feature

Clean up terminology to match the original [PEG paper](http://www.bford.info/pub/lang/peg.pdf) and other PEG implementations better. This mainly concerns specs, docs, and the AST. My current thinking: - literal → literal string...

feature
documentation

Include a library of standard rules in PEG.js. It would contains rules matching constructs used in many languages: numbers, strings, identifiers, various kinds of comments, Unicode character categories, etc. One...

feature

Right now, JavaScript code is generated by building pieces of it in arrays and manually concatenating them using `.join('\n')`. It’s conceptually simple, but the resulting code is messy and at...

task

Right now, the [documentation](https://github.com/pegjs/pegjs/tree/master/docs) is just a couple of markdown files with simple examples and quick overviews. We should add more documents: - [ ] **tutorial/quick-start.md** — walk the user...

feature
documentation

In sequences, returning a value from predicates only confuses users. For example, `start = "a" &. "b"` returns `["a", "", "b"]`, on input "ab", but users expect `["a", "b"]`. This...

feature

Warn when a grammar contains a label that can’t be seen by any action or semantic predicate. Examples: ``` start = a:"a" ``` ``` start = a:"a" / b:"b" {...

feature