(added in 3.3.0b1) Implemented a TINY language parser/interpreter using pyparsing, in theexamples/tiny directory. This is a little tutorial language that I used to demonstrate how to use pyparsing to build a simple interpreter, following a recommended parser+AST+engine+run structure. The docs sub-directory also includes transcripts of the AI session used to create the parser and the interpreter. Fixed minor formatting bugs in pyparsing.testing.with_line_numbers, found during development of the TINY language example. Added test inDelimitedList andnested_expr which auto-suppress delimiting commas to avoid wrapping in aSuppress if delimiter is already aSuppress. Added performance benchmarking tools and documentation: tests/perf_pyparsing.py runs a series of benchmark parsing tests, exercising different aspects of the pyparsing package. For cross-version analysis, this script can export results as CSV and append to a consolidated data file.- Runner scripts
run_perf_all_tags.bat (Windows) andrun_perf_all_tags.sh (Ubuntu/bash) execute the benchmark across multiple Python versions (3.9–3.14) and pyparsing versions (3.1.1 through 3.3.0), aggregating results intoperf_pyparsing.csv at the repo root. - See
tests/README.md for usage instructions.
This discussion was created from the releasePyparsing 3.3.0b1. |