Compiler implementation of the D programming language.

Walter Bright
Boost License 1.0
enum int IDMAX;

Print out debugging information.

struct Srcpos;

Position in source file

pure nothrow void set(const(char)* filename, uint linnum, int charnum);

Set fields of Srcpos

const(char)* filename file name
uint linnum line number
int charnum character number
struct Pstate;

Current 'state' of the compiler. Used to gather together most global variables. This struct is saved/restored during function body parsing.

struct Cstate;

Global variables.

alias ClassDeclaration_ = void*;

Basic blocks: Basic blocks are a linked list of all the basic blocks in a function. startblock heads the list.

alias BC = int;

Basic block control flow operators.

struct BlockRange;

Range for blocks.

struct symtab_t;


struct meminit_t;

Item in list for member initializer.

struct baseclass_t;

Base classes are a list of these.

alias mptr_flags_t = char;

For virtual tables.

struct TMF;

Information gathered about externally defined template member functions, member data, and member classes.

struct TME;

Information gathered about primary member template explicit specialization.

struct TMNE;

Information gathered about nested explicit specializations.

struct TMNF;

Information gathered about nested class friends.

struct template_t;

Special information for class templates.

alias enum_flags_t = uint;

Special information for enums.

alias struct_flags_t = uint;

Special information for structs.

nothrow @nogc inout(Symbol)* list_symbol(inout list_t lst);

Symbol Table

alias pflags_t = uint;

Function parameters: Pident identifier of parameter Ptype type of argument Pelem default value for argument Psym symbol corresponding to Pident when using the parameter list as a symbol table For template-parameter-list: Pident identifier of parameter Ptype if NULL, this is a type-parameter else the type for a parameter-declaration value argument Pelem default value for value argument Pdeftype default value for type-parameter Pptpl template-parameter-list for template-template-parameter Psym default value for template-template-parameter For template-arg-list: (actual arguments) Pident NULL Ptype type-name Pelem expression (either Ptype or Pelem is NULL) Psym SCtemplate for template-template-argument

nothrow @nogc EHmethod ehmethod(Symbol* f);
Symbol* f function symbol
exception method for f
alias FL = int;

Element types. These should be combined with storage classes.

struct EEcontext;

This is to support compiling expressions within the context of a function.

struct dt_t;

Data definitions DTibytes 1..7 bytes DTabytes offset of bytes of data a { a data bytes } DTnbytes bytes of data a { a data bytes } a = offset DTazeros # of 0 bytes a DTsymsize same as DTazeros, but the type of the symbol gives the size DTcommon # of 0 bytes (in a common block) a DTxoff offset from symbol w a w = symbol number (pointer for CPP) a = offset DTcoff offset into code segment

© 1999–2019 The D Language Foundation
Licensed under the Boost License 1.0.