kappybara.grammar#
Functions
|
Convert a Lark ParseTree to an Expression object. |
Classes
|
Builds Agent objects from Lark parse trees. |
Parser for Kappa language files and expressions. |
|
|
Transforms a Lark ParseTree into an Expression object. |
|
Builds Pattern objects from Lark parse trees. |
|
Builds Rule objects from Lark parse trees. |
|
Builds Site objects from Lark parse trees. |
- class kappybara.grammar.AgentBuilder(tree)[source]#
Builds Agent objects from Lark parse trees.
- Parameters:
tree (Tree[Token])
- parsed_type#
Type name of the agent.
- Type:
str
- parsed_interface#
List of sites belonging to the agent.
- Type:
list[kappybara.pattern.Site]
- parsed_type: str#
- class kappybara.grammar.KappaParser[source]#
Parser for Kappa language files and expressions.
Note
Don’t instantiate directly: use the global kappa_parser instance.
- class kappybara.grammar.LarkTreetoExpression(visit_tokens=True)[source]#
Transforms a Lark ParseTree into an Expression object.
Note
Uses a Transformer to preserve the tree structure of the original ParseTree. This doesn’t need to use Transformer_NonRecursive anymore due to grammar changes, but methods explicitly call transform on children.
- Parameters:
visit_tokens (bool)
- class kappybara.grammar.PatternBuilder(tree)[source]#
Builds Pattern objects from Lark parse trees.
- Parameters:
tree (Tree[Token])
- parsed_agents#
List of agents in the pattern.
- Type:
list[kappybara.pattern.Agent]
- class kappybara.grammar.RuleBuilder(tree)[source]#
Builds Rule objects from Lark parse trees.
- Parameters:
tree (Tree[Token])
- parsed_label#
Optional label for the rule.
- Type:
str | None
- left_agents#
Agents on the left side of the rule.
- Type:
list[kappybara.pattern.Agent | None]
- right_agents#
Agents on the right side of the rule.
- Type:
list[kappybara.pattern.Agent | None]
- parsed_rates#
Rate expressions for the rule.
- Type:
- tree_data#
Type of rule being built.
- Type:
str
- parsed_label: str | None#
- parsed_rates: list[Expression]#
- tree_data: str#
- class kappybara.grammar.SiteBuilder(tree)[source]#
Builds Site objects from Lark parse trees.
- Parameters:
tree (Tree[Token])
- parsed_site_name#
Name of the site being built.
- Type:
str
- parsed_state#
Internal state of the site.
- Type:
str
- parsed_partner#
Partner specification for the site.
- Type:
str | kappybara.pattern.SiteType | int | kappybara.pattern.Site
- parsed_site_name: str#
- parsed_state: str#
- kappybara.grammar.parse_tree_to_expression(tree)[source]#
Convert a Lark ParseTree to an Expression object.
Note
Since there isn’t extra logic when converting algebraic expressions, we can convert from the Lark representation in-place, without creating a new object, hence a Transformer instead of Visitor.
- Parameters:
tree (Tree) – Lark ParseTree rooted at algebraic_expression.
- Returns:
Expression object representing the parsed expression.
- Return type: