From 1b2dbd13b43ae525393855a71dbc9f77d08d3546 Mon Sep 17 00:00:00 2001 From: mappu Date: Sun, 12 Mar 2017 00:00:00 +0000 Subject: [PATCH] commit all archived files --- README.md | 42 +++++++++++++++++++++++++++++++++++ dist-archive/plexus-0.32.zip | Bin 0 -> 7658 bytes doc/sample.png | Bin 0 -> 39438 bytes 3 files changed, 42 insertions(+) create mode 100644 README.md create mode 100644 dist-archive/plexus-0.32.zip create mode 100644 doc/sample.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..12a95f6 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# plexus + +![](https://img.shields.io/badge/written%20in-Go-blue) + +A table-driven parser/lexer with no precompilation phase. + +Tags: PL + +`plexus` is a minimal recursive descent parser and lexer that works entirely at runtime. Enter your grammar using a BNF-like syntax directly into a `map`. The parse function takes the grammar map and your source code as input, to return a tree of nodes. No DFA/NFA lifting is performed. + +Rules can be used to customise the capture behaviour. Taking `FOO => BAR BAZ QUUX` as an example, a `FOO` node would only be created if all three child nodes could be parsed sequentially. By adding an RT_RULE into the list, this behaviour can be changed. For instance, `FOO => BAR RT_RULE_ONE_OF_THE_REMAINING BAZ QUUX` will match `BAR BAZ` and `BAR QUUX`. Various rules are supported to emulate plus, star, and optional groupings. Certain types of lookahead can be implemented via the `RT_RULE_NONE_OF_THE_REMAINING` rule. There is no support for backtracking. + +By default, the parser skips `\s\t\r\n` characters in-between other tokens; but this can be overwritten at any time via the `WHITESPACE` rule, which specifies the character set to skip. + +The project also includes `bnf2plexus`, a program that uses `plexus` to parse grammars in (E)BNF syntax, compiling the resulting AST into Go source code targeting the `plexus` library. At the time of writing, the BNF support was sufficiently complete to compile Python's upstream grammar file into a `plexus` parser. + +This is an extended, standalone, Golang version of the C++ parser used by the [pexl-D](https://code.ivysaur.me/pexl-D/) compiler. + +## Usage (library) + +See `plexus_test.go` for a simple example of parsing arithmetic expressions. + +See `cmd/bnf2plexus/bnfparse.go` for a more complex example of parsing BNF using custom rules. + +## Usage (bnf2plexus) + + +``` +Usage of bnf2plexus: + --input filename + +``` + + +Output is written to `stdout`. + +## Changelog + +2017-03-12 0.32 +- Initial public release +- [⬇️ plexus-0.32.zip](dist-archive/plexus-0.32.zip) *(7.48 KiB)* + diff --git a/dist-archive/plexus-0.32.zip b/dist-archive/plexus-0.32.zip new file mode 100644 index 0000000000000000000000000000000000000000..adaa8f21a308ce06c414fa0549b8ed515beedd95 GIT binary patch literal 7658 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 G;{O4#?2a=4 literal 0 HcmV?d00001 diff --git a/doc/sample.png b/doc/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..37d04ca6049fefd91973f3326312cecac2bb1174 GIT binary patch literal 39438 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 P~#8O^Y9 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 literal 0 HcmV?d00001