Skip to content

The DSLParser

Erlend E. Aasland edited this page Aug 4, 2023 · 1 revision

Notes to self regarding the DSL parser.

State machine

stateDiagram-v2
  s1: "DSL Start"
  s2: "Module name"
  s3: "Param start"
  s4: "Param"
  s5: "Param docstring start"
  s6: "Param docstring"
  s7: "Function docstring"
  [*] --> s1
  s1 --> [*]
  s2 --> [*]
  s4 --> [*]
  s6 --> [*]
  s7 --> [*]
  s1 --> s2
  s2 --> s3
  s2 --> s7
  s3 --> s4
  s3 --> s7
  s4 --> s5
  s4 --> s7
  s5 --> s6
  s6 --> s4
  s6 --> s7
Loading

List of attributes and methods

Attributes:

  • function: Function | None
  • state: StateKeeper
  • keyword_only: bool
  • positional_only: bool
  • group: int
  • parameter_state: int
  • seen_positional_with_default: bool
  • indent: IndentStack
  • kind: FunctionKind
  • coexist: bool
  • parameter_continuation: str
  • preserve_output: bool

Methods:

  • reset()

Directives:

  • directive_version()

  • directive_module()

  • directive_class()

  • directive_set()

  • directive_destination()

  • directive_output()

  • directive_dump()

  • directive_printout()

  • directive_preserve()

  • at_classmethod()

  • at_staticmethod()

  • at_coexist()

Block parser

  • parse()

Parse SM helpers

  • in_docstring()

  • valid_line()

  • to_required()

  • docstring_append()

  • do_post_block_processing_cleanup()

  • parse_parameter()

  • parse_converter()

  • parse_star()

  • parse_opening_square_bracket()

  • parse_closing_square_bracket()

  • parse_slash()

Parse SM

  • next()
  • state_dsl_start()
  • state_modulename_name()
  • state_parameters_start()
  • state_parameter()
  • state_parameter_docstring_start()
  • state_parameter_docstring()
  • state_parameter_docstring()

Generate output

  • format_docstring()
Clone this wiki locally