API Reference - Parser

Pipeline task expression parsing and grammar components.

Lexer

PointyLexer

class PointyLexer

Lexical analyzer for pipeline task expressions.

Tokens:

  • SEPERATOR: Comma separator between tasks (,)

  • POINTER: Task flow indicator (->)

  • PPOINTER: Parallel task pointer (|->)

  • PARALLEL: Parallel execution indicator (||)

  • RETRY: Task retry indicator (*)

  • TASKNAME: Valid task identifier

  • LPAREN, RPAREN: Parentheses for grouping

  • NUMBER: Numeric literals

  • DIRECTIVE: Parser directives

  • COMMENT: Task expression comments (#)

Grammar Parser

pointy_parser

pointy_parser

PLY-based parser for task expressions. Processes pipeline task definitions and builds an abstract syntax tree.

Grammar Rules:

  • Task Flow: task -> task

  • Parallel Tasks: task || task

  • Task Groups: (task1, task2)

  • Task Retry: task *

  • Conditional Flow: task(condition)

AST Components

class TaskName

Represents a task identifier in the AST.

Attributes:
  • name: The task name

class Descriptor

Represents a task descriptor/number in the AST.

Attributes:
  • value: The descriptor value

class BinOp

Represents a binary operation between tasks.

Attributes:
  • left: Left task operand

  • right: Right task operand

  • op: Operation type (pointer, parallel, etc)

class ConditionalBinOP

Represents a conditional task flow.

Attributes:
  • task: The task to execute

  • condition: The condition group to evaluate

class ConditionalGroup

Represents a group of conditions.

Attributes:
  • tasks: List of conditional tasks

Example Usage

# Simple sequential flow
"task1 -> task2 -> task3"

# Parallel execution
"task1 || task2 -> task3"

# Task groups with retry
"(task1, task2) * -> task3"

# Conditional flow
"task1(task2, task3) -> task4"