Skip to content
Rudimentary parser for a subset of MetaModelica for generating documentation, written in Haskell
Haskell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src
tests
.gitignore
LICENSE
README.md
Setup.hs
mmparser.cabal
test.css

README.md

mmdoc

A simplistic parser for MetaModelica written in Haskell with the purpose of retrieving the necessary information for generating documentation.

It only parses a subset of MetaModelica, and hence a subset of Modelica and does not handle non-functional parts. The result is a simplified AST.

Do not try to use this parser to check the validity of your program. It is meant to run only on source files that omc accepts.

Notable omissions

  • matchcontinue statements, they are not tail recursive

  • Loops, use recursion

  • Type variables in uniontypes and records of the form uniontype U<A> or record R<A>. Using these with concrete types are problematic. Use replaceable types instead.

  • model and class, use functions only

  • equation, use guard or if statements/expressions

  • Statements and expressions are parsed, but only the bare minimum to proceed with the rest of the parsing so their representation may not be very useful.

TODO

Parsing

  • match guards

  • Better identification of documentation strings

  • constant definitions

Doc Generation

  • Generate HTML instead of just printing the AST.
Something went wrong with that request. Please try again.