diagnose VS TameParse

Compare diagnose vs TameParse and see what are their differences.

TameParse

LALR parser with context-sensitive extensions (by Logicalshift)
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
diagnose TameParse
2 1
232 21
- -
6.1 0.0
4 months ago about 1 year ago
Haskell C++
BSD 3-clause "New" or "Revised" License 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.

diagnose

Posts with mentions or reviews of diagnose. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-17.

TameParse

Posts with mentions or reviews of TameParse. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-17.
  • We Need to Know LR and Recursive Descent Parsing Techniques
    7 projects | news.ycombinator.com | 17 Jan 2023
    I wrote a parser generator quite a long time ago that I think improves the syntax quite a lot, and which has an interesting approach to generalisation: you can write conditions on the lookahead (which are just grammars that need to be matched in order to pick a given rule when a conflict needs to be resolved). This construct makes it much easier to write a grammar that matches how a language is designed.

    Here's an ANSI-C parser, for example: https://github.com/Logicalshift/TameParse/blob/master/Exampl... - this is an interesting example because `(foo)(bar)` is fully ambiguous in ANSI C: it can be a cast or a function call depending on if `foo` is a type or a variable.

    The new construct makes it possible to extend grammars and disambiguate them - here's a C99 grammar that extends the ANSI-C grammar: https://github.com/Logicalshift/TameParse/blob/master/Exampl....

    It also allows matching at least some context-sensitive languages - see https://github.com/Logicalshift/TameParse/blob/master/Exampl...

    An advantage over GLR or backtracking approaches is that this still detects ambiguities in the language so it's much easier to write a grammar that doesn't end up running in exponential time or space, plus when an ambiguity is resolved by the generalisation, which version is specified by the grammar and is not arbitrary (backtracking) or left until later (GLR).

    I was working on improving error handling when I stopped work on this, but my approach here was not working out.

    (This is a long-abandoned project of mine but the approach to ambiguities and the syntax seem like they're novel to me and were definitely an improvement over anything else I found at the time. The lexer language has a few neat features in it too)

What are some alternatives?

When comparing diagnose and TameParse you can also consider the following projects:

gcc - Docker Official Image packaging for gcc

syntacs - Syntacs Translation Toolkit

antlr4ts - Optimized TypeScript target for ANTLR 4

oil - Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!

chapelure - Chapelure is a diagnostic library for Haskell

scroll - Tools for thought. An extensible alternative to Markdown.

emoji - emoji utility for haskell

errata - Source code error pretty printing