Skip to main content

Executable Shlaer-Mellor External Entity Operation Parser

Project description

Executable UML External Entity Operation Parser

Parses an *.op file (operation) to yield an abstract syntax tree using python named tuples

Why you need this

You need to process an *.op file in preparation for populating a database or some other purpose

Installation

Create or use a python 3.11+ environment. Then

% pip install op-parser

At this point you can invoke the parser via the command line or from your python script.

From your python script

You need this import statement at a minimum:

from op-parser.parser import OpParser

You then specify a path as shown:

result = OpParser.parse_file(file_input=path_to_file, debug=False)

The result will be a list of parsed operation statements. You may find the header of the visitor.py file helpful in interpreting these results.

From the command line

This is not the intended usage scenario, but may be helpful for testing or exploration. Since the parser may generate some diagnostic info you may want to create a fresh working directory and cd into it first. From there...

% eeop arrived-at-floor.op

The .op extension is not necessary, but the file must contain operation text. See this repository's wiki for more about the xsm language. The grammar is defined in the operation.peg file. (if the link breaks after I do some update to the code, just browse through the code looking for the operation.peg file, and let me know so I can fix it)

You can also specify a debug option like this:

% eeop arrived-at-floor.op -D

This will create a diagnostics folder in your current working directory and deposit a couple of PDFs defining the parse of both the state model grammar: operation_tree.pdf and your supplied text: operation.pdf.

You should also see a file named op-parser.log in a diagnostics directory within your working directory

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

op-parser-0.1.1.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

op_parser-0.1.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file op-parser-0.1.1.tar.gz.

File metadata

  • Download URL: op-parser-0.1.1.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for op-parser-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8a5c8203089f9508c0d22d0b4142086975091072455843f0cac5c376020bb3d9
MD5 08bb37807c7ad9a4ae4388173fbf7fb3
BLAKE2b-256 8f5f04f8d2d998a5812c148aab381b4052875ea6f1b882b768e44e3b28d258bf

See more details on using hashes here.

File details

Details for the file op_parser-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: op_parser-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for op_parser-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 268db1e9eea4cb949a2d5ee43289d3cc3ce2b04dc7ff02f55b964de62ab8f19e
MD5 e5ae3dd2fffbf3fe11a0fb5eb01075a8
BLAKE2b-256 4042db81aff9584972f0d856bd71c50c9293a7e399554cf345804b1e84cf84f3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page