Comments (2)
Whoops. I guess I missed a spot when I added parentheses!
from parsimonious.
Actually, it's a little trickier than that: parens aren't represented in the final tree by nodes: just by the shape of the tree, as you might imagine. So we'll need to extract them from the shape of the tree itself, unless we want to do icky (but temptingly easy) things like saving the original string of the rule. I don't like saving the string because I like that the repr normalizes the representation and serves as a sanity check that the internal tree is as expected.
I wonder if I could conceptually put parens around everything as I build the repr and then remove any which enclose only a single expression. Maybe pass a "level" var down the as_rule stack or something.
from parsimonious.
Related Issues (20)
- Consider adding me as a contributor to this repo HOT 4
- Don't allow recursion if no characters are being used up. HOT 3
- Use mypyc when building wheels HOT 1
- Repetition doesn't seem to work HOT 1
- Newest releases missing in conda-forge HOT 5
- What is the official file name extension for grammars in `parsinomous` DSL? HOT 5
- Raise an exception from the grammar? HOT 3
- How to stop consuming after find reserved word
- Python 3.11 : cannot import name 'getargspec' from 'inspect' HOT 3
- Or operator issue HOT 3
- Feature Request: Next Valid Token
- Struggling with what I thought should be a simple grammar HOT 1
- requires regex package HOT 9
- Bug: Unexpected ParserError HOT 1
- How to handle nodes with identical names at different levels of the tree? HOT 2
- INI parsing example does not work for files starting with empty lines HOT 1
- How to search for substring with grammar?
- IncompleteParseError
- How to get better parse errors?
- want to skip escaped newlines in input
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from parsimonious.