dpmcore.services.syntax

Grammar-level validation of DPM-XL expressions. Requires no database — it only runs the ANTLR parser, so it can be used standalone.

SyntaxService

class dpmcore.services.syntax.SyntaxService[source]

Bases: object

Validate and parse DPM-XL expression syntax.

This service is stateless and does not require a database connection.

__init__()[source]

Build a stateless syntax validator.

Return type:

None

validate(expression)[source]

Validate the syntax of expression.

Returns a SyntaxResult — never raises on invalid syntax.

Return type:

SyntaxResult

Parameters:

expression (str)

parse(expression)[source]

Parse expression and return the AST root node.

Raises on syntax errors.

Return type:

Any

Parameters:

expression (str)

is_valid(expression)[source]

Quick boolean check.

Return type:

bool

Parameters:

expression (str)

SyntaxResult

class dpmcore.services.syntax.SyntaxResult(is_valid, error_message, expression)[source]

Outcome of a syntax validation.

Parameters:
  • is_valid (bool)

  • error_message (str | None)

  • expression (str)

is_valid: bool
error_message: Optional[str]
expression: str