update
This commit is contained in:
152
html/pest.md2.html
Normal file
152
html/pest.md2.html
Normal file
@@ -0,0 +1,152 @@
|
||||
<h1 id="awesome-pest.-the-elegant-parser-awesome">Awesome Pest. The
|
||||
Elegant Parser <a href="https://awesome.re"><img
|
||||
src="https://awesome.re/badge.svg" alt="Awesome" /></a></h1>
|
||||
<p><a
|
||||
href="https://github.com/pest-parser/pest/"><img src="https://avatars.githubusercontent.com/u/26044607" align="right" width="100"></a></p>
|
||||
<blockquote>
|
||||
<p>A curated list of resources, projects, and tools using or for the
|
||||
pest parser generator in Rust</p>
|
||||
</blockquote>
|
||||
<p>pest is a general purpose parser written in Rust with a focus on
|
||||
accessibility, correctness, and performance. It uses parsing expression
|
||||
grammars (or <a
|
||||
href="https://en.wikipedia.org/wiki/Parsing_expression_grammar">PEG</a>)
|
||||
as input, which are similar in spirit to regular expressions, but which
|
||||
offer the enhanced expressivity needed to parse complex languages.</p>
|
||||
<p>Contributions welcome! Read the <a
|
||||
href="contributing.md">contribution guidelines</a> first.</p>
|
||||
<h2 id="contents">Contents</h2>
|
||||
<ul>
|
||||
<li><a href="#resources">Resources</a></li>
|
||||
<li><a href="#projects">Projects</a></li>
|
||||
<li><a href="#tooling">Tooling</a></li>
|
||||
</ul>
|
||||
<h2 id="resources">Resources</h2>
|
||||
<ul>
|
||||
<li><a href="https://pest.rs/book">Book</a> - The recommended way to
|
||||
start parsing with pest is to read this official book.</li>
|
||||
<li><a href="https://docs.rs/pest">API reference on docs.rs</a></li>
|
||||
<li><a href="https://pest.rs/#editor">fiddle editor on pest.rs</a> -
|
||||
Play with grammars and share them on the official website (and format
|
||||
them!).</li>
|
||||
<li><a href="https://gitter.im/pest-parser/pest">Gitter</a></li>
|
||||
<li><a href="https://discord.gg/XEGACtWpT2">Discord</a></li>
|
||||
<li><a href="https://github.com/pest-parser/pest/discussions">GitHub
|
||||
Discussions</a></li>
|
||||
</ul>
|
||||
<h2 id="projects">Projects</h2>
|
||||
<p>Here are some example projects using pest:</p>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/pest-parser/pest/blob/master/meta/src/grammar.pest">pest_meta</a>
|
||||
- The pest itself is bootstrapped using pest.</li>
|
||||
<li><a href="https://github.com/shnewto/ashpaper">AshPaper</a> - Rust
|
||||
Inpterpreter for Esopo language AshPaper conceived by William
|
||||
Hicks.</li>
|
||||
<li><a href="https://github.com/mitnk/cicada">cicada</a> - An old-school
|
||||
bash-like Unix shell written in Rust.</li>
|
||||
<li><a href="https://github.com/kivikakk/comrak">comrak</a> - CommonMark
|
||||
+ GFM compatible Markdown parser and renderer.</li>
|
||||
<li><a href="https://github.com/cch123/elastic-rs">elastic-rs</a> -
|
||||
Convert bool expressions to Elasticsearch DSL in Rust.</li>
|
||||
<li><a
|
||||
href="https://github.com/sunng87/handlebars-rust">handlebars-rust</a> -
|
||||
Rust templating with Handlebars.</li>
|
||||
<li><a href="https://github.com/Luz/hexdino">hexdino</a> - A hex editor
|
||||
with vim like keybindings written in Rust.</li>
|
||||
<li><a href="https://github.com/mitsuhiko/insta">insta</a> - A snapshot
|
||||
testing library for rust.</li>
|
||||
<li><a href="https://github.com/yamafaktory/jql">jql</a> - A JSON Query
|
||||
Language CLI tool.</li>
|
||||
<li><a href="https://github.com/callum-oakley/json5-rs">json5-rs</a> - A
|
||||
Rust JSON5 serializer and deserializer which speaks Serde.</li>
|
||||
<li><a href="https://github.com/svenstaro/mt940-rs">mt940</a> - A MT940
|
||||
parser in Rust.</li>
|
||||
<li><a href="https://github.com/jturner314/py_literal">py_literal</a> -
|
||||
Rust crate for parsing/formatting Python literals.</li>
|
||||
<li><a href="https://github.com/jarcane/rouler">rouler</a> - An easy to
|
||||
use dice rolling library for Rust.</li>
|
||||
<li><a href="https://github.com/lwandrebeck/RuSh">RuSh</a> - RuSh aims
|
||||
to be a bash compatible shell with candies, written in Rust.</li>
|
||||
<li><a href="https://github.com/wahn/rs_pbrt">rs_pbrt</a> - Rust crate
|
||||
to implement a counterpart to the PBRT book’s (3rd edition) C++
|
||||
code.</li>
|
||||
<li><a href="https://github.com/dgraham/stache">stache</a> - A Mustache
|
||||
template compiler.</li>
|
||||
<li><a href="https://github.com/Keats/tera">tera</a> - A template engine
|
||||
for Rust based on Jinja2/Django.</li>
|
||||
<li><a href="https://github.com/ZoKrates/ZoKrates">ZoKrates</a> - A
|
||||
toolbox for zkSNARKs on Ethereum.</li>
|
||||
<li><a href="https://github.com/timberio/vector">Vector</a> - A
|
||||
high-performance observability data pipeline.</li>
|
||||
<li><a href="https://github.com/huacnlee/autocorrect">AutoCorrect</a> -
|
||||
A linter and formatter to help you to improve copywriting, correct
|
||||
spaces, words, and punctuations between CJK (Chinese, Japanese,
|
||||
Korean).</li>
|
||||
<li><a href="https://github.com/aofdev/yaml-peg">yaml-peg</a> - PEG
|
||||
parser for YAML written in Rust.</li>
|
||||
<li><a href="https://github.com/abhimanyu003/qubit">qubit</a> - A handy
|
||||
calculator, based on Rust and WebAssembly.</li>
|
||||
<li><a href="https://github.com/Geobert/caith">caith</a> - A dice roller
|
||||
crate.</li>
|
||||
<li><a href="https://github.com/yoav-lavi/melody">Melody</a> - Melody is
|
||||
a language that compiles to regular expressions and aims to be more
|
||||
easily readable and maintainable.</li>
|
||||
<li><a href="https://github.com/AltaModaTech/pta-parser/">PTA-Parser</a>
|
||||
- A Plain Text Accounting parser built in Rust for <a
|
||||
href="https://github.com/beancount/beancount">Beancount</a>, <a
|
||||
href="https://github.com/ledger/ledger">Ledger</a>, and other PTA
|
||||
formats.</li>
|
||||
<li><a href="https://github.com/keadex/keadex">Keadex Mina</a> - Open
|
||||
Source, serverless IDE to code with C4-PlantUML and organize at a scale
|
||||
C4 model diagrams.</li>
|
||||
<li><a
|
||||
href="https://github.com/rust-utilities/liquid-grammar-pest/">Liquid
|
||||
Grammar</a> - Generate <code>Pairs</code> and/or <code>Rules</code> for
|
||||
<a href="https://shopify.github.io/liquid/">Shopify</a> Liquid
|
||||
(hash-tags <em>not-sponsored</em> or <em>affiliated</em>) for use in
|
||||
consuming crates</li>
|
||||
<li><a href="https://code.rosaelefanten.org/ws2markdown">ws2markdown</a>
|
||||
- Converts WordStar documents into Markdown files.</li>
|
||||
</ul>
|
||||
<h2 id="tooling">Tooling</h2>
|
||||
<h3 id="ide-support">IDE Support</h3>
|
||||
<ul>
|
||||
<li><a href="https://github.com/pest-parser/pest-ide-tools">pest IDE
|
||||
tools</a> - A main repository with LSP server and VSCode extension.</li>
|
||||
<li><a
|
||||
href="https://marketplace.visualstudio.com/items?itemName=pest.pest-ide-tools">VSCode
|
||||
Extension</a></li>
|
||||
<li><a href="https://plugins.jetbrains.com/plugin/12046-pest">IntelliJ
|
||||
IDEA Plugin</a></li>
|
||||
<li><a href="https://github.com/pest-parser/pest.vim">pest.vim</a></li>
|
||||
<li><a href="https://github.com/pest-parser/pest-fmt">pest-fmt</a> - It
|
||||
can help to format pest grammars.</li>
|
||||
<li><a href="https://github.com/tomtau/pest-web-debug">pest web
|
||||
debugger</a> - Try it <a
|
||||
href="https://tomtau.github.io/pest-web-debug/">online</a>.</li>
|
||||
</ul>
|
||||
<h3 id="boilerplate-reduction-and-testing">Boilerplate reduction and
|
||||
testing</h3>
|
||||
<ul>
|
||||
<li><a href="https://github.com/pest-parser/ast">pest-ast</a> - It can
|
||||
help to reduce boilerplate when converting pest parse trees to abstract
|
||||
syntax trees.</li>
|
||||
<li><a href="https://crates.io/crates/pest_consume">pest_consume</a> -
|
||||
This crate can help with the parse tree traversing boilerplate.</li>
|
||||
<li><a href="https://crates.io/crates/pest-test">pest-test</a> - It is a
|
||||
testing framework for pest grammars.</li>
|
||||
<li><a
|
||||
href="https://crates.io/crates/pest_ascii_tree">pest_ascii_tree</a> -
|
||||
Output <code>Pairs</code> in a tree on the console</li>
|
||||
</ul>
|
||||
<h3 id="cli-debugger">CLI Debugger</h3>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://docs.rs/pest_debugger/latest/pest_debugger/">pest_debugger</a>
|
||||
- It is a crate for debugging pest grammars. It can be used as a CLI
|
||||
tool or as a library. <a href="debugger.md">See instructions for using
|
||||
the CLI debugger</a>.</li>
|
||||
</ul>
|
||||
<p><a href="https://github.com/pest-parser/awesome-pest">pest.md
|
||||
Github</a></p>
|
||||
Reference in New Issue
Block a user