# Raw AST node hierarchy. # This file was generated by SableCC (http://www.sablecc.org/). module parser_nodes is no_warning("missing-doc", "old-init") import location # Root of the AST hierarchy abstract class ANode # Location is set during AST building. Once built, location cannon be null # However, manual instanciated nodes may need mode care var location: Location is writable, noinit end # Ancestor of all tokens abstract class Token super ANode fun text : String is abstract end # Ancestor of all productions abstract class Prod super ANode end class TEol super Token end class TNumber super Token end class TFloat super Token end class TChar super Token end class TString super Token end class THex super Token end class TColon super Token end class TComma super Token end class TComment super Token end class TTkByte super Token end class TTkWord super Token end class TTkBlock super Token end class TTkAscii super Token end class TTkAddrss super Token end class TTkEquate super Token end class TTkBurn super Token end class TEndBlock super Token end class TId super Token end class EOF super Token end class AError super EOF end class ALine super Prod var n_label_decl: nullable ALabelDecl = null var n_comment: nullable TComment = null end class AInstruction super Prod var n_id: TId is noinit end class AOperand super Prod var n_value: AValue is noinit end class AValue super Prod end class ADirective super Prod end class AListing super Prod var n_lines: List[ALine] = new List[ALine] var n_label_decl: nullable ALabelDecl = null var n_end_block: TEndBlock is noinit end class AEmptyLine super ALine var n_eol: TEol is noinit end abstract class ANonEmptyLine super ALine end class AInstructionLine super ANonEmptyLine var n_instruction: AInstruction is noinit var n_eol: TEol is noinit end class ADirectiveLine super ANonEmptyLine var n_directive: ADirective is noinit var n_eol: TEol is noinit end class ALabelDecl super Prod var n_id: TId is noinit var n_colon: TColon is noinit end class AUnaryInstruction super AInstruction end class ABinaryInstruction super AInstruction var n_operand: AOperand is noinit end class AImmediateOperand super AOperand end class AAnyOperand super AOperand var n_comma: TComma is noinit var n_id: TId is noinit end class ALabelValue super AValue var n_id: TId is noinit end class ANumberValue super AValue var n_number: TNumber is noinit end class ACharValue super AValue var n_char: TChar is noinit end class AStringValue super AValue var n_string: TString is noinit end class AHexValue super AValue var n_hex: THex is noinit end class AByteDirective super ADirective var n_tk_byte: TTkByte is noinit var n_value: AValue is noinit end class AWordDirective super ADirective var n_tk_word: TTkWord is noinit var n_value: AValue is noinit end class ABlockDirective super ADirective var n_tk_block: TTkBlock is noinit var n_value: AValue is noinit end class AAsciiDirective super ADirective var n_tk_ascii: TTkAscii is noinit var n_value: AValue is noinit end class AAddrssDirective super ADirective var n_tk_addrss: TTkAddrss is noinit var n_value: AValue is noinit end class AEquateDirective super ADirective var n_tk_equate: TTkEquate is noinit var n_value: AValue is noinit end class ABurnDirective super ADirective var n_tk_burn: TTkBurn is noinit var n_value: AValue is noinit end class Start super Prod var n_base: nullable AListing var n_eof: EOF is noinit init(n_base: nullable AListing, n_eof: EOF) do super _n_base = n_base _n_eof = n_eof end end