Phasor 2.2.0
Stack VM based Programming Language
Loading...
Searching...
No Matches
AST.hpp File Reference
#include <iostream>
#include <memory>
#include <string>
#include <vector>
Include dependency graph for AST.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Phasor::AST::Node
 AST Node. More...
struct  Phasor::AST::Expression
 Expression Node. More...
struct  Phasor::AST::Statement
 Statement Node. More...
struct  Phasor::AST::Program
 Program Node. More...
struct  Phasor::AST::TypeNode
 Type Node. More...
struct  Phasor::AST::NumberExpr
 Numeral Expression Node. More...
struct  Phasor::AST::StringExpr
 String Expression Node. More...
struct  Phasor::AST::IdentifierExpr
 Identifier Expression Node. More...
struct  Phasor::AST::BooleanExpr
 Boolean Expression Node. More...
struct  Phasor::AST::NullExpr
 NULL Expression Node. More...
struct  Phasor::AST::PostfixExpr
 Postfix Expression Node. More...
struct  Phasor::AST::UnaryExpr
 Unary Expression Node. More...
struct  Phasor::AST::BinaryExpr
 Binary Expression Node. More...
struct  Phasor::AST::ArrayAccessExpr
 Array Access Expression Node. More...
struct  Phasor::AST::ArrayLiteralExpr
 Array Literal Expression Node. More...
struct  Phasor::AST::MemberAccessExpr
 Member Access Expression Node. More...
struct  Phasor::AST::CallExpr
 Call Expression Node. More...
struct  Phasor::AST::AssignmentExpr
 Assignment Expression Node. More...
struct  Phasor::AST::VarDecl
 Variable Declaration Node. More...
struct  Phasor::AST::ExpressionStmt
 Expression Statement Node. More...
struct  Phasor::AST::PrintStmt
 Print Statement Node. More...
struct  Phasor::AST::ImportStmt
 Import Statement Node. More...
struct  Phasor::AST::ExportStmt
 Export Statement Node. More...
struct  Phasor::AST::BlockStmt
 Block Statement Node. More...
struct  Phasor::AST::ReturnStmt
 Return Statement Node. More...
struct  Phasor::AST::BreakStmt
 Break Statement Node. More...
struct  Phasor::AST::ContinueStmt
 Continue Statement Node. More...
struct  Phasor::AST::IfStmt
 If Statement Node. More...
struct  Phasor::AST::WhileStmt
 While Statement Node. More...
struct  Phasor::AST::ForStmt
 For Statement Node. More...
struct  Phasor::AST::UnsafeBlockStmt
 Unsafe Block Statement Node. More...
struct  Phasor::AST::FunctionDecl
 Function Declaration Node. More...
struct  Phasor::AST::FunctionDecl::Param
struct  Phasor::AST::StructField
 Struct Field Node. More...
struct  Phasor::AST::StructDecl
 Struct Declaration Node. More...
struct  Phasor::AST::StructInstanceExpr
 Struct Instance Expression Node. More...
struct  Phasor::AST::FieldAccessExpr
 Field Access Expression Node. More...
struct  Phasor::AST::CaseClause
 Case Clause Node. More...
struct  Phasor::AST::SwitchStmt
 Switch Statement Node. More...

Namespaces

namespace  Phasor
 The Phasor Programming Language and Runtime.
namespace  Phasor::AST
 Abstract Syntax Tree (AST) namespace.

Enumerations

enum class  Phasor::AST::UnaryOp { Phasor::AST::Negate , Phasor::AST::Not , Phasor::AST::AddressOf , Phasor::AST::Dereference }
 Unary operator types. More...
enum class  Phasor::AST::BinaryOp {
  Phasor::AST::Add , Phasor::AST::Subtract , Phasor::AST::Multiply , Phasor::AST::Divide ,
  Phasor::AST::Modulo , Phasor::AST::And , Phasor::AST::Or , Phasor::AST::Equal ,
  Phasor::AST::NotEqual , Phasor::AST::LessThan , Phasor::AST::GreaterThan , Phasor::AST::LessEqual ,
  Phasor::AST::GreaterEqual
}
 Binary operator types. More...
enum class  Phasor::AST::PostfixOp { Phasor::AST::Increment , Phasor::AST::Decrement }
 Postfix operator types. More...