mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Data Structures | Namespaces | Macros | Typedefs | Functions | Variables
AST.hpp File Reference
#include <iostream>
#include <memory>
#include <mutable/catalog/Schema.hpp>
#include <mutable/lex/Token.hpp>
#include <mutable/mutable-config.hpp>
#include <variant>
#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.

Data Structures

struct  m::ast::Expr
 An expression. More...
 
struct  m::ast::ErrorExpr
 The error expression. More...
 
struct  m::ast::Designator
 A designator. More...
 
struct  m::ast::Constant
 A constant: a string literal or a numeric constant. More...
 
struct  m::ast::PostfixExpr
 A postfix expression. More...
 
struct  m::ast::FnApplicationExpr
 A function application. More...
 
struct  m::ast::UnaryExpr
 A unary expression: "+e", "-e", "~e", "NOT e". More...
 
struct  m::ast::BinaryExpr
 A binary expression. More...
 
struct  m::ast::QueryExpr
 A query expression for nested queries. More...
 
struct  m::ast::TheRecursiveExprVisitorBase< C >
 A generic base class for implementing recursive ast::Expr visitors. More...
 
struct  m::ast::ThePreOrderExprVisitor< C >
 
struct  m::ast::ThePostOrderExprVisitor< C >
 
struct  m::ast::Clause
 
struct  m::ast::ErrorClause
 
struct  m::ast::SelectClause
 
struct  m::ast::FromClause
 
struct  m::ast::FromClause::from_type
 
struct  m::ast::WhereClause
 
struct  m::ast::GroupByClause
 
struct  m::ast::HavingClause
 
struct  m::ast::OrderByClause
 
struct  m::ast::LimitClause
 
struct  m::ast::Constraint
 Abstract class to represent constraints attached to attributes of a table. More...
 
struct  m::ast::PrimaryKeyConstraint
 
struct  m::ast::UniqueConstraint
 
struct  m::ast::NotNullConstraint
 
struct  m::ast::CheckConditionConstraint
 
struct  m::ast::ReferenceConstraint
 
struct  m::ast::Command
 
struct  m::ast::Instruction
 
struct  m::ast::Stmt
 A SQL statement. More...
 
struct  m::ast::ErrorStmt
 The error statement. More...
 
struct  m::ast::EmptyStmt
 
struct  m::ast::CreateDatabaseStmt
 
struct  m::ast::DropDatabaseStmt
 
struct  m::ast::UseDatabaseStmt
 
struct  m::ast::CreateTableStmt
 
struct  m::ast::CreateTableStmt::attribute_definition
 
struct  m::ast::DropTableStmt
 
struct  m::ast::CreateIndexStmt
 
struct  m::ast::DropIndexStmt
 
struct  m::ast::SelectStmt
 A SQL select statement. More...
 
struct  m::ast::InsertStmt
 A SQL insert statement. More...
 
struct  m::ast::UpdateStmt
 A SQL update statement. More...
 
struct  m::ast::DeleteStmt
 A SQL delete statement. More...
 
struct  m::ast::ImportStmt
 A SQL import statement. More...
 
struct  m::ast::DSVImportStmt
 An import statement for a delimiter separated values (DSV) file. More...
 
struct  m::ast::ASTVisitor
 
struct  m::ast::ConstASTVisitor
 
struct  std::hash< m::ast::Expr >
 Specialization of std::hash to m::ast::Expr. More...
 

Namespaces

namespace  m
 

‍mutable namespace


 
namespace  m::ast
 
namespace  std
 STL namespace.
 

Macros

#define M_AST_EXPR_LIST(X)
 
#define M_AST_CLAUSE_LIST(X)
 
#define M_AST_CONSTRAINT_LIST(X)
 
#define M_AST_COMMAND_LIST(X)
 
#define M_AST_LIST(X)
 

Typedefs

using m::ast::RecursiveExprVisitorBase = TheRecursiveExprVisitorBase< false >
 
using m::ast::RecursiveConstExprVisitorBase = TheRecursiveExprVisitorBase< true >
 
using m::ast::PreOrderExprVisitor = ThePreOrderExprVisitor< false >
 
using m::ast::ConstPreOrderExprVisitor = ThePreOrderExprVisitor< true >
 
using m::ast::PostOrderExprVisitor = ThePostOrderExprVisitor< false >
 
using m::ast::ConstPostOrderExprVisitor = ThePostOrderExprVisitor< true >
 

Functions

 m::ast::M_DECLARE_VISITOR (ASTExprVisitor, Expr, M_AST_EXPR_LIST) M_DECLARE_VISITOR(ConstASTExprVisitor
 
 m::ast::M_MAKE_STL_VISITABLE (PreOrderExprVisitor, Expr, M_AST_EXPR_LIST) M_MAKE_STL_VISITABLE(ConstPreOrderExprVisitor
 
const M_AST_EXPR_LIST m::ast::M_MAKE_STL_VISITABLE (PostOrderExprVisitor, Expr, M_AST_EXPR_LIST) M_MAKE_STL_VISITABLE(ConstPostOrderExprVisitor
 
 m::ast::M_DECLARE_VISITOR (ASTClauseVisitor, Clause, M_AST_CLAUSE_LIST) M_DECLARE_VISITOR(ConstASTClauseVisitor
 
 m::ast::M_DECLARE_VISITOR (ASTConstraintVisitor, Constraint, M_AST_CONSTRAINT_LIST) M_DECLARE_VISITOR(ConstASTConstraintVisitor
 
 m::ast::M_DECLARE_VISITOR (ASTCommandVisitor, Command, M_AST_COMMAND_LIST) M_DECLARE_VISITOR(ConstASTCommandVisitor
 
 m::ast::M_MAKE_STL_VISITABLE (ASTVisitor, Expr, M_AST_EXPR_LIST) M_MAKE_STL_VISITABLE(ASTVisitor
 
M_AST_CLAUSE_LIST m::ast::M_MAKE_STL_VISITABLE (ASTVisitor, Constraint, M_AST_CONSTRAINT_LIST) M_MAKE_STL_VISITABLE(ASTVisitor
 
M_AST_CLAUSE_LIST M_AST_COMMAND_LIST m::ast::M_MAKE_STL_VISITABLE (ConstASTVisitor, const Expr, M_AST_LIST) M_MAKE_STL_VISITABLE(ConstASTVisitor
 
M_AST_CLAUSE_LIST M_AST_COMMAND_LIST const M_AST_LIST m::ast::M_MAKE_STL_VISITABLE (ConstASTVisitor, const Constraint, M_AST_LIST) M_MAKE_STL_VISITABLE(ConstASTVisitor
 

Variables

const m::ast::Expr
 
const m::ast::Clause
 
const m::ast::Constraint
 
const m::ast::Command
 

Macro Definition Documentation

◆ M_AST_CLAUSE_LIST

#define M_AST_CLAUSE_LIST (   X)

◆ M_AST_COMMAND_LIST

#define M_AST_COMMAND_LIST (   X)

◆ M_AST_CONSTRAINT_LIST

#define M_AST_CONSTRAINT_LIST (   X)

◆ M_AST_EXPR_LIST

#define M_AST_EXPR_LIST (   X)
Value:
A binary expression.
Definition: AST.hpp:348
A constant: a string literal or a numeric constant.
Definition: AST.hpp:213
A designator.
Definition: AST.hpp:134
The error expression.
Definition: AST.hpp:116
A function application.
Definition: AST.hpp:246
A query expression for nested queries.
Definition: AST.hpp:389
A unary expression: "+e", "-e", "~e", "NOT e".
Definition: AST.hpp:324

Definition at line 427 of file AST.hpp.

◆ M_AST_LIST

#define M_AST_LIST (   X)
Value:
M_AST_CLAUSE_LIST(X) \
M_AST_CONSTRAINT_LIST(X) \
M_AST_COMMAND_LIST(X)
#define M_AST_EXPR_LIST(X)
Definition: AST.hpp:427

Definition at line 1063 of file AST.hpp.