Comments (2)
Yes, handling of whitespaces/comments is probably something that I should have done better. :)
At the moment they are handled in a similar fashion. I planed to keep comments and let the user access it somehow at they might contain useful information. Arpeggio keeps them on the next parsed object but I still haven't published that part of the API for general consumption. Whitespaces are defined as single chars for speed only if I remember correctly. In the parglare project which started later I followed different route by treating both whitespaces and comments as something called layout, i.e. a part of text that carry no semantics but might be useful to the reader and thus layout is fully accessible and consists of both whitespaces and comments and is defined as a separate grammar (like Comment rule in textX).
So, the bottom line is that your solution is right in the current setup. I don't have plans to rework that part in a backward incompatible way in 1.x series.
I have registered a poll in PR #54 to see the opinion on the skipws
so that might impact you as if this change is introduced you will have to handle both whitespaces and comments in the grammar in all noskipws
rules. This change would be backward incompatible so I'm still thinking if that would be a good idea.
from textx.
Thanks for the detailed answer! I think this can be closed now.
from textx.
Related Issues (20)
- Cleanup / Loading imported models: when "importURI" does have an effect? HOT 1
- Can't create rule with \ character HOT 2
- Grammar extension: catching them all HOT 2
- Change separator in link rule references to `:` HOT 6
- Vendored six raises ImportWarning HOT 5
- Tests fail: No such file or directory: '/usr/ports/lang/py-textX/work-py39/textX-3.1.0/tests/functional/test_objcrossref_positions.model' HOT 1
- 25 tests fail HOT 2
- Is it possible to enable converting documents into PDF for offline reading
- Feature request: One case where error reporting could be improved - newline character (\n) HOT 3
- Feature request: Add rule descriptions, generate more informative user messages
- Feature request: One case where error reporting could be improved – "Not" case
- Question: How could I process some comments in my text but ignore others? HOT 1
- Import JSON as Part of a Metamodel HOT 1
- Python new grammar PEG and special operator HOT 2
- `pkg_resources` is deprecated HOT 2
- Support Click 8.0.0
- Please read this before asking questions
- Migrate examples to `flit_core` as well? HOT 4
- Feature request: TextXError gains length (or nchar) attribute
- Metaclass inheritance and attribute/associations raising HOT 1
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 textx.