GIFT-grammar-PEG.js
npeg
GIFT-grammar-PEG.js | npeg | |
---|---|---|
1 | 2 | |
36 | 321 | |
- | - | |
7.3 | 5.1 | |
17 days ago | about 1 month ago | |
PEG.js | Nim | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
GIFT-grammar-PEG.js
-
GIFT: A fast way to make quiz questions (in Moodle and Google Forms).
They're all based on a reverse-engineered, parsing expression grammar (PEG) for GIFT (sorry for the geek speak). Hope you find this information useful! Open-source projects need people to help, so feel free to contribute (or encourage your students to).
npeg
-
Pratt Parsers: Expression Parsing Made Easy
Ha, nice to see this on HN: this article was pretty helpful to me to understand the concept a few years back when extending my PEG parsing library [1] with a Pratt parser; this mitigates the problem of PEG parsers not allowing left recursion and allows for a much more concise notation of grammars with operator precedence. Thank you Bob:
1. https://github.com/zevv/npeg
-
Nim v2.0 Released
Ones that have not been mentioned so far:
nlvm is an unofficial LLVM backend: https://github.com/arnetheduck/nlvm
npeg lets you write PEGs inline in almost normal PEG notation: https://github.com/zevv/npeg
futhark provides for much more automatic C interop: https://github.com/PMunch/futhark
nimpy allows calling Python code from Nim and vice versa: https://github.com/yglukhov/nimpy
questionable provides a lot of syntax sugar surrounding Option/Result types: https://github.com/codex-storage/questionable
ratel is a framework for embedded programming: https://github.com/PMunch/ratel
cps allows arbitrary procedure rewriting to continuation passing style: https://github.com/nim-works/cps
chronos is an alternative async/await backend: https://github.com/status-im/nim-chronos
zero-functional fixes some inefficiencies when chaining list operations: https://github.com/zero-functional/zero-functional
owlkettle is a declarative macro-oriented library for GTK: https://github.com/can-lehmann/owlkettle
A longer list can be found at https://github.com/ringabout/awesome-nim.
What are some alternatives?
rust-peg - Parsing Expression Grammar (PEG) parser generator for Rust
awesome-nim - A curated list of awesome Nim frameworks, libraries, software and resources.
PEGTL - Parsing Expression Grammar Template Library
jsony - A loose, direct to object json parser with hooks.
futhark - Automatic wrapping of C headers in Nim
torrentinim - A very low memory-footprint, self hosted API-only torrent search engine. Sonarr + Radarr Compatible, native support for Linux, Mac and Windows.
nlvm - LLVM-based compiler for the Nim language
mummy - An HTTP and WebSocket server for Nim that returns to the ancient ways of threads.
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
pixie - Full-featured 2d graphics library for Nim.
questionable - Elegant optional types for Nim
nimpy - Nim - Python bridge