dstep.translator.MacroParser

Members

Aliases

Expression
alias Expression = Algebraic!(Identifier, TypeIdentifier, Literal, StringLiteral, StringifyExpr, StringConcat, TokenConcat, IndexExpr, CallExpr, DotExpr, ArrowExpr, SubExpr, UnaryExpr, DefinedExpr, SizeofType, CastExpr, MulExpr, AddExpr, SftExpr, RelExpr, EqlExpr, AndExpr, XorExpr, OrExpr, LogicalAndExpr, LogicalOrExpr, CondExpr)
Undocumented in source.
parseAddExpr
alias parseAddExpr = parseLeftAssoc!(AddExpr, parseMulExpr, "+", "-")
Undocumented in source.
parseAndExpr
alias parseAndExpr = parseLeftAssoc!(AndExpr, parseEqlExpr, "&")
Undocumented in source.
parseEqlExpr
alias parseEqlExpr = parseLeftAssoc!(EqlExpr, parseRelExpr, "==", "!=")
Undocumented in source.
parseLogicalAndExpr
alias parseLogicalAndExpr = parseLeftAssoc!(LogicalAndExpr, parseOrExpr, "&&")
Undocumented in source.
parseLogicalOrExpr
alias parseLogicalOrExpr = parseLeftAssoc!(LogicalOrExpr, parseLogicalAndExpr, "||")
Undocumented in source.
parseMulExpr
alias parseMulExpr = parseLeftAssoc!(MulExpr, parseCastExpr, "*", "/", "%")
Undocumented in source.
parseOrExpr
alias parseOrExpr = parseLeftAssoc!(OrExpr, parseXorExpr, "|")
Undocumented in source.
parseRelExpr
alias parseRelExpr = parseLeftAssoc!(RelExpr, parseSftExpr, "<", ">", "<=", ">=")
Undocumented in source.
parseSftExpr
alias parseSftExpr = parseLeftAssoc!(SftExpr, parseAddExpr, "<<", ">>")
Undocumented in source.
parseXorExpr
alias parseXorExpr = parseLeftAssoc!(XorExpr, parseAndExpr, "^")
Undocumented in source.

Classes

AddExpr
class AddExpr
Undocumented in source.
AndExpr
class AndExpr
Undocumented in source.
ArrowExpr
class ArrowExpr
Undocumented in source.
BinaryExpr
class BinaryExpr
Undocumented in source.
CallExpr
class CallExpr
Undocumented in source.
CastExpr
class CastExpr
Undocumented in source.
CondExpr
class CondExpr
Undocumented in source.
DotExpr
class DotExpr
Undocumented in source.
EqlExpr
class EqlExpr
Undocumented in source.
IndexExpr
class IndexExpr
Undocumented in source.
LogicalAndExpr
class LogicalAndExpr
Undocumented in source.
LogicalOrExpr
class LogicalOrExpr
Undocumented in source.
MacroDefinition
class MacroDefinition
Undocumented in source.
MulExpr
class MulExpr
Undocumented in source.
OrExpr
class OrExpr
Undocumented in source.
RelExpr
class RelExpr
Undocumented in source.
SftExpr
class SftExpr
Undocumented in source.
StringConcat
class StringConcat
Undocumented in source.
SubExpr
class SubExpr
Undocumented in source.
TokenConcat
class TokenConcat
Undocumented in source.
UnaryExpr
class UnaryExpr
Undocumented in source.
XorExpr
class XorExpr
Undocumented in source.

Functions

accept
bool accept(Token[] tokens, string spelling, TokenKind kind)

The accept family of functions parse tokens. In the case of successful parsing, the function advances the beginning of the tokens to the next token and returns true.

accept
bool accept(Token[] tokens, string spelling, TokenKind kind)
Undocumented in source. Be warned that the author may not have intended to support it.
accept
bool accept(Token[] tokens, TokenKind kind)
Undocumented in source. Be warned that the author may not have intended to support it.
accept
bool accept(Token[] tokens, string spelling)
Undocumented in source. Be warned that the author may not have intended to support it.
acceptIdentifier
bool acceptIdentifier(Token[] tokens, string spelling)
Undocumented in source. Be warned that the author may not have intended to support it.
acceptKeyword
bool acceptKeyword(Token[] tokens, string spelling)
Undocumented in source. Be warned that the author may not have intended to support it.
acceptLiteral
bool acceptLiteral(Token[] tokens, string spelling)
Undocumented in source. Be warned that the author may not have intended to support it.
acceptPunctuation
bool acceptPunctuation(Token[] tokens, string spelling)
Undocumented in source. Be warned that the author may not have intended to support it.
acceptPunctuation
bool acceptPunctuation(Token[] tokens)
Undocumented in source. Be warned that the author may not have intended to support it.
acceptStringLiteral
bool acceptStringLiteral(Token[] tokens, string spelling)
Undocumented in source. Be warned that the author may not have intended to support it.
basicSpecifierListToType
bool basicSpecifierListToType(Type type, Set!string specifiers)
Undocumented in source. Be warned that the author may not have intended to support it.
braced
Expression braced(Expression expression)
Undocumented in source. Be warned that the author may not have intended to support it.
debraced
Expression debraced(Expression expression)
Undocumented in source. Be warned that the author may not have intended to support it.
parseAbstractDeclarator
bool parseAbstractDeclarator(Token[] tokens, Type type, Cursor[string] table)
Undocumented in source. Be warned that the author may not have intended to support it.
parseArg
Expression parseArg(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parseArgsList
Expression[] parseArgsList(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parseBasicSpecifier
bool parseBasicSpecifier(Token[] tokens, string spelling, Cursor[string] table)
Undocumented in source. Be warned that the author may not have intended to support it.
parseCastExpr
Expression parseCastExpr(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parseComplexSpecifier
bool parseComplexSpecifier(Token[] tokens, Type type, Cursor[string] table)
Undocumented in source. Be warned that the author may not have intended to support it.
parseCondExpr
Expression parseCondExpr(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parseDefinedExpr
Expression parseDefinedExpr(Token[] tokens)
Undocumented in source. Be warned that the author may not have intended to support it.
parseEnumMember
Expression parseEnumMember(Token[] tokens, Cursor[string] table)
Undocumented in source. Be warned that the author may not have intended to support it.
parseEnumSpecifier
bool parseEnumSpecifier(Token[] tokens, Type type, Cursor[string] table)
Undocumented in source. Be warned that the author may not have intended to support it.
parseExpr
Expression parseExpr(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parseExpr
Expression parseExpr(Token[] tokens, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parseLeftAssoc
Expression parseLeftAssoc(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parseMacroDefinition
MacroDefinition parseMacroDefinition(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parseMacroDefinitions
MacroDefinition[] parseMacroDefinitions(Range cursors, Cursor[string] types)
Undocumented in source. Be warned that the author may not have intended to support it.
parseMacroParams
string[] parseMacroParams(Token[] tokens)
Undocumented in source. Be warned that the author may not have intended to support it.
parsePartialMacroDefinition
MacroDefinition parsePartialMacroDefinition(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parsePointer
bool parsePointer(Token[] tokens, Type type)
Undocumented in source. Be warned that the author may not have intended to support it.
parsePostfixExpr
Expression parsePostfixExpr(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parsePrimaryExpr
Expression parsePrimaryExpr(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.
parseQualifierList
bool parseQualifierList(Token[] tokens, Type type)
Undocumented in source. Be warned that the author may not have intended to support it.
parseRecordSpecifier
bool parseRecordSpecifier(Token[] tokens, Type type, Cursor[string] table)
Undocumented in source. Be warned that the author may not have intended to support it.
parseSizeofType
Expression parseSizeofType(Token[] tokens, Cursor[string] table)
Undocumented in source. Be warned that the author may not have intended to support it.
parseSpecifierQualifierList
bool parseSpecifierQualifierList(Token[] tokens, Type type, Cursor[string] table)
Undocumented in source. Be warned that the author may not have intended to support it.
parseStringConcat
Expression parseStringConcat(Token[] tokens)
Undocumented in source. Be warned that the author may not have intended to support it.
parseTokenConcat
Expression parseTokenConcat(Token[] tokens)
Undocumented in source. Be warned that the author may not have intended to support it.
parseTypeName
Type parseTypeName(Token[] tokens, Cursor[string] table)
Undocumented in source. Be warned that the author may not have intended to support it.
parseTypeQualifier
bool parseTypeQualifier(Token[] tokens, string spelling)
Undocumented in source. Be warned that the author may not have intended to support it.
parseTypedefName
bool parseTypedefName(Token[] tokens, Type type, Cursor[string] table)
Undocumented in source. Be warned that the author may not have intended to support it.
parseUnaryExpr
Expression parseUnaryExpr(Token[] tokens, Cursor[string] table, bool defined)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

DefinedExpr
struct DefinedExpr
Undocumented in source.
Identifier
struct Identifier
Undocumented in source.
Literal
struct Literal
Undocumented in source.
SizeofType
struct SizeofType
Undocumented in source.
StringLiteral
struct StringLiteral
Undocumented in source.
StringifyExpr
struct StringifyExpr
Undocumented in source.
TypeIdentifier
struct TypeIdentifier
Undocumented in source.

Variables

isStringValue
enum bool isStringValue(alias T);
Undocumented in source.

Meta

Authors

Wojciech Szęszoł

Version

Initial created: October 05, 2017