Meta-language for DSL implementation inspired by Xtext

Edit Package python-textX
https://github.com/igordejanovic/textX

textX is a meta-language for building Domain-Specific Languages (DSLs) in Python.
It is inspired by Xtext.

In a nutshell, textX will help you build your textual language in an easy way.
You can invent your own language or build a support for already existing
textual language or file format.

From a single language description (grammar), textX will build a
parser and a meta-model (a.k.a. abstract syntax) for the language.
See the docs for the details.

textX follows the syntax and semantics of Xtext but differs in some places
and is implemented 100% in Python using Arpeggio PEG parser - no grammar
ambiguities, unlimited lookahead, interpreter style of work.

Refresh
Refresh
Source Files
Filename Size Changed
python-textX-2.3.0.tar.gz 0001818564 1.73 MB
python-textX.changes 0000017188 16.8 KB
python-textX.spec 0000004318 4.22 KB
Revision 13 (latest revision is 18)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 846971 from Sebastian Wagner's avatar Sebastian Wagner (sebix) (revision 13)
- remove fix_tests_setupcfg.patch, included upstream
- update to version 2.3.0:
 - Added:
    - `textx generate`. Documented passing in arbitrary parameters which can be
      used in the generator function. Also, implemented passing of model
      parameters defined in the meta-model (`model_param_defs` and
      `_tx_model_params`) ([#299])
    - `get_location` function for producing `line/col/filename` from any textX
      object. ([#294])
    - `builtin_models` of type `ModelRepository` to meta-model constructor. Used
      to supply pre-loaded models for `ImportURI` based scoping providers as a
      fallback to search into. ([#284])
    - Initial implementation of TEP-001 ([#111]) allowing to specify scope
      provider behavior within the grammar itself. [#274] and [#287] introduce
      the RREL (reference resolving expression language) to define how
      references are resolved. Details see `rrel.md`.
    - Parameter `should_follow` of callable type to `get_children` and
      `get_children_of_type` model API calls to decide if the element should be
      traversed. ([#281])
 - Fixed:
    - Fixed bug with Falsy user classes in `get_children` ([#288])
    - Fixed bug with unhashable objects during dot export ([#283])
    - Fixed bug where (Ext)RelativeName scope providers accepted any referenced
      object that contained the lookup name in its name. Thanks ipa-mdl@GitHub
      ([#267])
    - Fixed bug in `flow_dsl` test project causing static files not being included
      in package build/installation. Thanks sebix@GitHub ([#272]).
    - Fixed bug, where user classes not used in the grammar caused exceptions
      ([#270]): now, when passing a list of user classes, you need to use them in
      your grammar. You can alternatively also pass a callable (see metamodel.md;
      [#273]). Also, using base classes for rules from imported grammars in 
      conjunction with user classes is not allowed and results in an exception.
    - Fixed bug in `export.py` concerning html escaping in the dot export of a
      textx meta-model ([#276]).
 - Changed:
    - `_tx_model_param_definitions` deprecated in favor of `model_param_defs` ([#298]).
    - `click` is now an optional dependency, only when CLI is needed ([#292])
    - Make warning about not overwriting generated file more visible
      ([01341ec3](https://github.com/textX/textX/commit/01341ec381bfb4c8c27bcec5d2998a34d207f430))
    - Truncate long strings during dot export for better diagram readability ([#282]).
    - Changed `unhashable type` exception when a list is used for `name` attributes by
      raising a more informative exception and extending docs to document the issue
      and a proper way to solve it ([#40], [#266]).
Comments 0
openSUSE Build Service is sponsored by