Metadata-Version: 2.4
Name: PRAGMAR
Version: 0.0.12
Summary: PRAGMAR: Python Reference Attribute Grammar Models At Runtime
Project-URL: Homepage, https://github.com/Pollopiccante/PRAGMAR
Project-URL: Issues, https://github.com/Pollopiccante/PRAGMAR/issues
Author-email: Richard Müller <richard_mueller4@aol.de>
License-Expression: GPL-3.0-only
License-File: LICENSE
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.12
Description-Content-Type: text/markdown

# PRAGMAR
Python, Reference Attribute Grammar, Models At Runtime

# ROADMAP

```mermaid
flowchart LR
    Goal["`First Release`"]
    MultiFileAspects["`Aspects in Multible Files`"]
    MultiFileExample["`Create Multifile Example`"]
    ImproveGen["`Improve Generation Workflow`"]
    GenerateFields["`Generate Fields in classes.py`"]
    OptionalFields["`Optional Fields in Grammar definition`"]
    InhCheck["`Validate Inherited Attributes`"]
    Checks["`Only Generate Grammar when Checks succeed: Add Error Codes`"]
    RuntimeOnlyExample["`Create Runtime Only Example (Single File)`"]
    ReadMe["`Create README with all example variants`"]
    JastAddComparisonExample["`Create Example highlighting benefits compared to Jastadd`"]
    BetterChildAccess["`Make the interface easier to get children of nodes`"]
    
    MultiFileAspects --> ImproveGen --> MultiFileExample --> ReadMe --> Goal
    RuntimeOnlyExample --> ReadMe
    JastAddComparisonExample --> ReadMe
    GenerateFields --> Goal
    OptionalFields --> Goal
    BetterChildAccess --> Goal
    InhCheck --> Checks --> Goal
    
    EBNFParser["`Allow parsing of Jastadd-EBNF to define Grammars`"]
    XmlJson["`Allow parsing Xml and Json to create usage-Trees of a defined language`"]
    RestApi["`Create Default Rest-Api to modify Trees at runtime using Rewrites`"]
    Future["`Future`"]
    
    EBNFParser:::future --> Future
    XmlJson:::future --> Future
    RestApi:::future --> Future:::future
    
    
    Goal:::planned
    MultiFileAspects:::done
    MultiFileExample:::done
    ImproveGen:::done
    GenerateFields:::done
    OptionalFields:::done
    InhCheck:::planned
    Checks:::planned
    RuntimeOnlyExample:::done
    ReadMe:::planned
    JastAddComparisonExample:::planned
    BetterChildAccess:::next
    
    classDef planned fill:#555
    classDef done fill:#040
    classDef canceled fill:#700
    classDef next fill:#880
    classDef future fill:#000
```