Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 1.33 KB

usage.rst

File metadata and controls

48 lines (37 loc) · 1.33 KB

Usage

To use modparc in a project:

import modparc
with open("your_modelica_file.mo", 'r') as f:
    modelica_source_code = f.read()
    model_definition = modparc.parse(modelica_source_code)

To list all the equations in the model_definition instance:

all_equations = model_definition.search('Equation')
for equation in all_equations:
    print(equation.code())  # The code of the equation as string

One could also parse a certain syntax element in Modelica:

import modparc
from modparc.syntax import tokenize
source_code = """
              if init==InitializationOptions.FixedPopulation then
                population = initial_population;
              elseif init==InitializationOptions.SteadyState then
                der(population) = 0;
              else
              end if
              """
tokens_list = tokenize(source_code)
if_equation_element = modparc.syntax.equations.if_equation(tokens_list)
sub_equations = if_equation_element.search('Equation')
for equation in sub_equations:
    print(equation.code())  # The code of the equation as string