Parser

Constructors

this
this(Loc loc, AST.Module _module, const(char)[] input, bool doDocComment)

Use this constructor for string mixins. Input: loc location in source file of mixin

this
this(AST.Module _module, const(char)[] input, bool doDocComment)
Undocumented in source.

Members

Aliases

STC
alias STC = AST.STC
Undocumented in source.

Functions

check
void check(TOK value)
Undocumented in source. Be warned that the author may not have intended to support it.
nextToken
TOK nextToken()
Undocumented in source. Be warned that the author may not have intended to support it.
parseAssignExp
AST.Expression parseAssignExp()
Undocumented in source. Be warned that the author may not have intended to support it.
parseDeclDefs
AST.Dsymbols* parseDeclDefs(int once, AST.Dsymbol* pLastDecl, PrefixAttributes!AST* pAttrs)
Undocumented in source. Be warned that the author may not have intended to support it.
parseExpression
AST.Expression parseExpression()
Undocumented in source. Be warned that the author may not have intended to support it.
parseModule
AST.Dsymbols* parseModule()
Undocumented in source. Be warned that the author may not have intended to support it.
parsePrimaryExp
AST.Expression parsePrimaryExp()

Expression Parser **************************

parseStatement
AST.Statement parseStatement(int flags, const(char)** endPtr, Loc* pEndloc)

Input: flags PSxxxx Output: pEndloc if { ... statements ... }, store location of closing brace, otherwise loc of last token of statement

parseType
AST.Type parseType(Identifier* pident, AST.TemplateParameters** ptpl)
Undocumented in source. Be warned that the author may not have intended to support it.
parseTypeOrAssignExp
RootObject parseTypeOrAssignExp(TOK endtoken)

Parse a Type or an Expression

reportDiagnostics
void reportDiagnostics()
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

isBuiltinAtAttribute
StorageClass isBuiltinAtAttribute(Identifier ident)

Recognize builtin @ attributes

Variables

atAttrGroup
enum StorageClass atAttrGroup;
Undocumented in source.
md
AST.ModuleDeclaration* md;
Undocumented in source.

Inherited Members

From Lexer

scanloc
Loc scanloc;
Undocumented in source.
prevloc
Loc prevloc;
Undocumented in source.
p
const(char)* p;
Undocumented in source.
token
Token token;
Undocumented in source.
allocateToken
Token* allocateToken()
nextToken
TOK nextToken()
Undocumented in source. Be warned that the author may not have intended to support it.
peekNext
TOK peekNext()

Look ahead at next token's value.

peekNext2
TOK peekNext2()

Look 2 tokens ahead at value.

scan
void scan(Token* t)

Turn next token in buffer into a token.

peek
Token* peek(Token* ct)
Undocumented in source. Be warned that the author may not have intended to support it.
peekPastParen
Token* peekPastParen(Token* tk)

tk is on the opening (. Look ahead and return token that is past the closing ).

loc
Loc loc()
Undocumented in source. Be warned that the author may not have intended to support it.
error
void error(const(char)* format, ...)
Undocumented in source. Be warned that the author may not have intended to support it.
error
void error(Loc loc, const(char)* format, ...)
Undocumented in source. Be warned that the author may not have intended to support it.
errorSupplemental
void errorSupplemental(Loc loc, const(char)* format, ...)
Undocumented in source. Be warned that the author may not have intended to support it.
warning
void warning(Loc loc, const(char)* format, ...)
Undocumented in source. Be warned that the author may not have intended to support it.
warningSupplemental
void warningSupplemental(Loc loc, const(char)* format, ...)
Undocumented in source. Be warned that the author may not have intended to support it.
deprecation
void deprecation(const(char)* format, ...)
Undocumented in source. Be warned that the author may not have intended to support it.
deprecationSupplemental
void deprecationSupplemental(const(char)* format, ...)
Undocumented in source. Be warned that the author may not have intended to support it.
combineComments
const(char)* combineComments(const(char)[] c1, const(char)[] c2, bool newParagraph)

Combine two document comments into one, separated by an extra newline if newParagraph is true.

Meta