Is it possible to propagate higher level constructs (+, *) to the generated parse tree in an LR-style parser?

This page summarizes the projects mentioned and recommended in the original post on /r/ProgrammingLanguages

Scout Monitoring - Free Django app performance insights with Scout Monitoring
Get Scout setup in minutes, and let us sweat the small stuff. A couple lines in settings.py is all you need to start monitoring your apps. Sign up for our free tier today.
www.scoutapm.com
featured
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
  • Lark

    Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.

    lark, a parsing library where I am somewhat involved has a really nice solution to this: Rules starting with _ are inlined in a post processing step.

  • Scout Monitoring

    Free Django app performance insights with Scout Monitoring. Get Scout setup in minutes, and let us sweat the small stuff. A couple lines in settings.py is all you need to start monitoring your apps. Sign up for our free tier today.

    Scout Monitoring logo
  • booze-tools

    Booze Tools will become the complete programming-language development workbench, all written in Python 3.9 (for now).

    It's not my idea. It's present at least as far back as YACC, "Yet Another Compiler-Compiler", which inspired the name of BISON (another parser-generator named for ungulates). Here's mine, written in Python: https://github.com/kjosib/booze-tools It also has a few extra bits. Feel free to exploit its MIT license to the fullest. I should mention that the design of symbolic reduce-actions was intended to allow one to use the same grammar across multiple host languages. You could even write a driver that does simply build a parse-tree and then hand that off to a separate phase, but in my world I almost always want a bottom-up tree-transduction as first-pass de-sugaring.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • can you create your own program language in python, if yes how?

    1 project | /r/Python | 12 Mar 2023
  • Lark a Python lexer/parser library

    1 project | news.ycombinator.com | 27 Feb 2023
  • Create your own scripting language in Python with Sly

    1 project | /r/Python | 28 Jan 2023
  • Creating a language with Python.

    2 projects | /r/ProgrammingLanguages | 18 Dec 2022
  • Not Your Grandfather’s Perl

    2 projects | /r/programming | 11 Sep 2022