expr VS npeg

Compare expr vs npeg and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
expr npeg
1 2
5 327
- -
6.1 5.1
about 1 year ago 3 months ago
Rust Nim
- MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

expr

Posts with mentions or reviews of expr. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-20.
  • Pratt Parsers: Expression Parsing Made Easy
    6 projects | news.ycombinator.com | 20 Jan 2024
    I had to write an expression parser recently and found the number of names for essentially the same algorithm very confusing. There's Pratt parsing, precedence climbing, and shunting yard. But really they're all the same algorithm.

    Pratt parsing and precedence climbing are the same except one merges left/right associativity precedence into a single precedence table (which makes way more sense). Shunting yard is the same as the others except it's iterative instead of recursive, and it seems like common implementations omit some syntax checking (but there's no reason you have to omit it).

    Here's what I ended up with:

    https://github.com/Timmmm/expr

    I had to write that because somewhat surprisingly I couldn't find an expression parser library that supports 64-bit integers and bools. Almost all of them only do floats. Also I needed it in C++ - that library was a prototype that I later translated into C++ (easier to write in Rust and then translate).

npeg

Posts with mentions or reviews of npeg. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-20.
  • Pratt Parsers: Expression Parsing Made Easy
    6 projects | news.ycombinator.com | 20 Jan 2024
    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
    49 projects | news.ycombinator.com | 1 Aug 2023
    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?

When comparing expr and npeg you can also consider the following projects:

pratt-parser-blog-code - The code to illustrate the pratt parser blog post for the desmos engineering blog.

awesome-nim - A curated list of awesome Nim frameworks, libraries, software and resources.

minipratt

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

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured