Nabla  1.0
Nabla - a DSL for Automatic differentiation
Classes | Enumerations | Variables
ast.h File Reference
#include <iostream>
#include <cstring>
#include <vector>
#include <memory>
#include <optional>
#include <map>
#include <unordered_map>
#include "sym.h"
Include dependency graph for ast.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Node
 
class  Start
 
class  Decl
 
class  InitDeclarator
 
class  Declarator
 
class  ConstValue
 
union  ConstValue::inbuilt_type
 
class  Initializer
 
union  Initializer::type_value
 
class  AssgnStmt
 
class  Expr
 
class  BinaryExpr
 
class  UnaryExpr
 
class  GradStmt
 

Enumerations

enum  GradSpecifier { GradSpecifier::CNS, GradSpecifier::VAR }
 
enum  TypeSpecifier {
  TypeSpecifier::CHAR, TypeSpecifier::INT, TypeSpecifier::FLOAT, TypeSpecifier::BOOL,
  TypeSpecifier::TENSOR
}
 
enum  LibFuncs {
  LibFuncs::SIN, LibFuncs::COS, LibFuncs::LOG, LibFuncs::EXP,
  LibFuncs::TRANSPOSE
}
 
enum  AssignmentOperator {
  AssignmentOperator::AST_ASSIGN, AssignmentOperator::AST_ADD_ASSIGN, AssignmentOperator::AST_SUB_ASSIGN, AssignmentOperator::AST_MUL_ASSIGN,
  AssignmentOperator::AST_DIV_ASSIGN, AssignmentOperator::AST_AT_ASSIGN
}
 
enum  GradType { GradType::GRAD, GradType::BACKWARD, GradType::PRINT }
 

Variables

int yylineno
 
int yycolumn
 
Startroot
 

Enumeration Type Documentation

◆ AssignmentOperator

enum AssignmentOperator
strong
Enumerator
AST_ASSIGN 
AST_ADD_ASSIGN 
AST_SUB_ASSIGN 
AST_MUL_ASSIGN 
AST_DIV_ASSIGN 
AST_AT_ASSIGN 

◆ GradSpecifier

enum GradSpecifier
strong
Enumerator
CNS 
VAR 

◆ GradType

enum GradType
strong
Enumerator
GRAD 
BACKWARD 
PRINT 

◆ LibFuncs

enum LibFuncs
strong
Enumerator
SIN 
COS 
LOG 
EXP 
TRANSPOSE 

◆ TypeSpecifier

enum TypeSpecifier
strong
Enumerator
CHAR 
INT 
FLOAT 
BOOL 
TENSOR 

Variable Documentation

◆ root

Start* root

◆ yycolumn

int yycolumn

◆ yylineno

int yylineno