Purple  0.1
Standard Language Specification
Public Attributes | List of all members
ASTNode Struct Reference

Component of the abstract syntax tree built during parsing. More...

#include <tree.h>

Collaboration diagram for ASTNode:
Collaboration graph

Public Attributes

TokenType ttype
 The TokenType of the given token. More...
 
struct ASTNodeleft
 
struct ASTNodemid
 
struct ASTNoderight
 
NumberType number_type
 
NumberType largest_number_type
 
bool is_char_arithmetic
 
char filename [256]
 
int line_number
 
int char_number
 
union {
   number_literal_type   number_value
 
   char   symbol_name [MAX_IDENTIFIER_LENGTH]
 
value
 

Detailed Description

Component of the abstract syntax tree built during parsing.

Member Data Documentation

◆ char_number

int ASTNode::char_number

Character number of this Token

◆ filename

char ASTNode::filename[256]

Filename of this Token

◆ is_char_arithmetic

bool ASTNode::is_char_arithmetic

Whether or not a binary arithmetic node is dealing with chars

◆ largest_number_type

NumberType ASTNode::largest_number_type

Largest NumberType in subtree

◆ left

struct ASTNode* ASTNode::left

The left child of the AST Node

◆ line_number

int ASTNode::line_number

Line number of this Token

◆ mid

struct ASTNode* ASTNode::mid

The middle child of the AST Node

◆ number_type

NumberType ASTNode::number_type

Type of number token

◆ number_value

number_literal_type ASTNode::number_value

Value of integer token

◆ right

struct ASTNode* ASTNode::right

The right child of the AST Node

◆ symbol_name

char ASTNode::symbol_name[MAX_IDENTIFIER_LENGTH]

Name of this identifier token

◆ ttype

TokenType ASTNode::ttype

The TokenType of the given token.

◆ 

union { ... } ASTNode::value

Value of AST Node's Token


The documentation for this struct was generated from the following file: