An open API service indexing awesome lists of open source software.

https://github.com/michaeltryby/epanet-parse

File parsing toolkit for EPANET
https://github.com/michaeltryby/epanet-parse

ebnf epanet input lark parse

Last synced: 5 months ago
JSON representation

File parsing toolkit for EPANET

Awesome Lists containing this project

README

          

# epanet-parse

File parsing toolkit for EPANET

## Build

Builds src and binary distributions

```
% python -m build
```

## Test

Installs requirements and runs tests

```
% pip install -r test-requirements.txt
% pytest
```
## Usage

Convert EPANET input into a parse tree.

```
from lark import Lark

l = Lark.open_from_package(
"epanet.parse", "input-earley.lark", ("grammars",), parser="earley"
)

input = """
[TITLE]
Hello EPANET!
"""

print(l.parse(input))
```

Output

```
Tree(Token('RULE', 'start'), [Tree(Token('RULE', 'section'), [Token('KEYWORD', 'TITLE'), Tree(Token('RULE', 'record'), [Tree('keyword', [Token('KEYWORD', 'Hello')]), Tree('name', [Token('NAME', 'EPANET!')])])])])
```