Comments (2)
Thank you for this interesting suggestion.
- From an end-user point of view it is a valid extension.
- From the implementation-of-textx point of view it should be carefully analyzed what kind of variations are possible and allowed and what are the consequences of such a change (e.g. is it also allowed to mix references and non-references:
Rule: x=(A | [B]);
?).- @pvmm Maybe the following simple alternative is also acceptable for you? Define a new rule
FactionOrFloatOrInt: FRACTION | FLOAT | INTEGER;
and useNumber: value=FactionOrFloatOrInt;
. - @igordejanovic Maybe such a transformation could be automated, if we include such an extension.
- @pvmm Maybe the following simple alternative is also acceptable for you? Define a new rule
I think it is not a trivial change...
from textx.
@pvmm Thanks for the suggestion.
I agree with @goto40. It would be a non-trivial change. Furthermore, if we allow for arbitrary expressions in the RHS of the assignment it would be hard to deduce the meta-model. What would be the meta-class of the RHS for complex expressions? On the other hand, if allowed expressions are somehow constrained it would be difficult to explain those constraint to the end-users. Now it is very simple. You can use only rule references and plain matches (with repetition modifiers for repeatable assignments). I think the way it is now is the best trade-off between the expressive power and the implementation complexity.
I'm closing this issue as wontfix
but feel free to reopen if you want to discuss further.
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
- 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.