# Raw AST node hierarchy. # This file was generated by SableCC (http://www.sablecc.org/). module parser_nodes import location # Root of the AST hierarchy abstract class ANode var _location: nullable Location = null # Location is set during AST building. Once built, location cannon be null # However, manual instanciated nodes may need mode care fun location: Location do return _location.as(not null) 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 fun location=(loc: Location) do _location = loc 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 #private init noinit do end end class AError super EOF #private init noinit do end end class ALine super Prod readable var _n_label_decl: nullable ALabelDecl = null readable var _n_comment: nullable TComment = null end class AInstruction super Prod readable writable var _n_id: TId init do end end class AOperand super Prod readable var _n_value: AValue init do end end class AValue super Prod end class ADirective super Prod end class AListing super Prod readable var _n_lines: List[ALine] = new List[ALine] readable var _n_label_decl: nullable ALabelDecl = null readable var _n_end_block: TEndBlock init do end end class AEmptyLine super ALine readable var _n_eol: TEol init do end end abstract class ANonEmptyLine super ALine end class AInstructionLine super ANonEmptyLine readable var _n_instruction: AInstruction readable var _n_eol: TEol init do end end class ADirectiveLine super ANonEmptyLine readable var _n_directive: ADirective readable var _n_eol: TEol init do end end class ALabelDecl super Prod readable var _n_id: TId readable var _n_colon: TColon init do end end class AUnaryInstruction super AInstruction end class ABinaryInstruction super AInstruction readable var _n_operand: AOperand init do end end class AImmediateOperand super AOperand end class AAnyOperand super AOperand readable var _n_comma: TComma readable var _n_id: TId init do end end class ALabelValue super AValue readable var _n_id: TId init do end end class ANumberValue super AValue readable var _n_number: TNumber init do end end class ACharValue super AValue readable var _n_char: TChar init do end end class AStringValue super AValue readable var _n_string: TString init do end end class AHexValue super AValue readable var _n_hex: THex init do end end class AByteDirective super ADirective readable var _n_tk_byte: TTkByte readable var _n_value: AValue init do end end class AWordDirective super ADirective readable var _n_tk_word: TTkWord readable var _n_value: AValue init do end end class ABlockDirective super ADirective readable var _n_tk_block: TTkBlock readable var _n_value: AValue init do end end class AAsciiDirective super ADirective readable var _n_tk_ascii: TTkAscii readable var _n_value: AValue init do end end class AAddrssDirective super ADirective readable var _n_tk_addrss: TTkAddrss readable var _n_value: AValue init do end end class AEquateDirective super ADirective readable var _n_tk_equate: TTkEquate readable var _n_value: AValue init do end end class ABurnDirective super ADirective readable var _n_tk_burn: TTkBurn readable var _n_value: AValue init do end end class Start super Prod readable var _n_base: nullable AListing readable var _n_eof: EOF init(n_base: nullable AListing, n_eof: EOF) do super _n_base = n_base _n_eof = n_eof end end