IDL compiler front-end library
Classes | Typedefs | Enumerations | Functions
AST Namespace Reference

Abstract Syntax Tree namespace. More...

Classes

class  Array
 The array type descriptor. More...
 
class  Attribute
 The attribute specification. More...
 
class  Builder
 The AST builder. More...
 
class  CodeGen
 Base for code generators. Abstract class. More...
 
class  Constant
 const definition. More...
 
class  ContainerT
 Sequential container of the AST items. More...
 
class  Container
 Sequential container of the AST items. More...
 
class  SimpleDeclarator
 The IDL simple declarator. More...
 
class  Declarator
 The IDL declarator. More...
 
class  EnumItem
 The enumerator. More...
 
class  Enum
 The enum declaration. More...
 
class  Exception
 The exception declaration. More...
 
class  Fixed
 A fixed point constant. More...
 
class  ForwardDeclarable
 The item that can be forward declared. More...
 
class  Identifier
 An identifier. More...
 
class  Include
 #include file. More...
 
class  InterfaceKind
 The kind of interface. More...
 
class  Interface
 Interface definition. More...
 
class  InterfaceDecl
 Interface forward declaration. More...
 
class  Ptr
 AST item smart pointer. More...
 
class  Item
 An AST item. More...
 
class  ItemScope
 The named item which defines a scope. More...
 
class  ItemWithId
 Items which have repository identifiers derive from this class. More...
 
class  IV_Base
 The common base for Interface and ValueType. More...
 
class  Location
 Stores the location information. More...
 
class  Member
 The item with name and type. More...
 
class  Module
 The module as a scope. More...
 
class  ModuleItems
 The seqence of items in a module. More...
 
class  NamedItem
 A named AST item. More...
 
class  Native
 A 'native` type. More...
 
class  Operation
 An operation. More...
 
class  OperationBase
 An operation base. More...
 
class  Parameter
 A parameter of an operation. More...
 
class  Root
 Abstract Syntax Tree root. More...
 
struct  ScopedName
 A scoped name: sequence of identifiers. More...
 
class  Sequence
 The sequence type descriptor. More...
 
class  StateMember
 State member. More...
 
class  StructDecl
 The struct forward declaration. More...
 
class  Struct
 The struct definition. More...
 
class  StructBase
 The common base for Struct and Exception. More...
 
class  Symbols
 Set of the named items. More...
 
class  Type
 An IDL type. More...
 
class  TypeDef
 Type alias. More...
 
class  UnionDecl
 union forward declaration. More...
 
class  Union
 union definition. More...
 
class  UnionElement
 union element definition. More...
 
class  ValueBox
 Boxed value type. More...
 
class  ValueFactory
 Value type factory operation. More...
 
class  ValueType
 Value type definition. More...
 
class  ValueTypeDecl
 Value type forward declaration. More...
 
class  Variant
 Stores the constant value. More...
 

Typedefs

typedef std::forward_list< SimpleDeclaratorSimpleDeclarators
 The IDL simple declarators.
 
typedef std::forward_list< unsigned > FixedArraySizes
 Array dimensions.
 
typedef std::forward_list< DeclaratorDeclarators
 The IDL declarators.
 
typedef std::vector< const ItemWithId * > Raises
 
typedef std::vector< const Interface * > Interfaces
 The sequence of interfaces.
 
typedef std::forward_list< ScopedNameScopedNames
 Sequence of scoped names.
 
typedef uint32_t Dim
 Array dimensions, string and sequence bounds.
 
typedef std::vector< const ValueType * > ValueTypes
 The sequence of value types.
 

Enumerations

enum class  BasicType {
  BOOLEAN , OCTET , CHAR , WCHAR ,
  USHORT , ULONG , ULONGLONG , SHORT ,
  LONG , LONGLONG , FLOAT , DOUBLE ,
  LONGDOUBLE , OBJECT , VALUE_BASE , ANY
}
 CORBA basic type enumeration. More...
 

Functions

bool is_integral (BasicType bt) noexcept
 
bool is_signed (BasicType bt) noexcept
 
bool operator< (const Identifier &l, const char *r) noexcept
 Case-insensitive compare.
 
bool operator< (const char *l, const Identifier &r) noexcept
 Case-insensitive compare.
 

Detailed Description

Abstract Syntax Tree namespace.

Typedef Documentation

◆ Raises

typedef std::vector<const ItemWithId*> AST::Raises

The user exceptions. Item types may be:

Definition at line 55 of file Exception.h.

Enumeration Type Documentation

◆ BasicType

enum AST::BasicType
strong

CORBA basic type enumeration.

Enumerator
BOOLEAN 

boolean

OCTET 

octet

CHAR 

char

WCHAR 

wchar

USHORT 

unsigned short

ULONG 

unsigned long

ULONGLONG 

unsigned long long

SHORT 

short

LONG 

long

LONGLONG 

long long

FLOAT 

float

DOUBLE 

double

LONGDOUBLE 

long double

OBJECT 

Object

VALUE_BASE 

ValueBase

ANY 

any

Definition at line 34 of file BasicType.h.

Function Documentation

◆ is_integral()

bool AST::is_integral ( BasicType  bt)
inlinenoexcept
Returns
true if a type is integral type.

Definition at line 56 of file BasicType.h.

◆ is_signed()

bool AST::is_signed ( BasicType  bt)
inlinenoexcept
Returns
true if a type is signed type.

Definition at line 63 of file BasicType.h.