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

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. 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.

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. 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

Did you know that Python is
the 2nd most popular programming language
based on number of references?