diff --git a/stdx/d/parser.html b/stdx/d/parser.html deleted file mode 100644 index 8ba7bbb..0000000 --- a/stdx/d/parser.html +++ /dev/null @@ -1,2201 +0,0 @@ -
- -const(Token)[] tokens | -the tokens parsed by std.d.lexer |
string fileName | -the name of the file being parsed |
void function(string, size_t, size_t, string, bool) messageFunction | -a function to call on error or warning messages. - The parameters are the file name, line number, column number, - the error or warning message, and a boolean (true means error, false - means warning). |
addExpression: - mulExpression - | addExpression ('+' | '-' | '~') mulExpression - ;
aliasDeclaration: - 'alias' aliasInitializer (',' aliasInitializer)* ';' - | 'alias' type identifier ';' - ;
aliasInitializer: - Identifier '=' type - ;
aliasThisDeclaration: - 'alias' Identifier 'this' ';' - ;
alignAttribute: - 'align' ('(' IntegerLiteral ')')? - ;
andAndExpression: - orExpression - | andAndExpression '&&' orExpression - ;
andExpression: - cmpExpression - | andExpression '&' cmpExpression - ;
argumentList: - assignExpression (',' assignExpression?)* - ;
arguments: - '(' argumentList? ')' - ;
arrayInitializer: - '[' ']' - | '[' arrayMemberInitialization (',' arrayMemberInitialization?)* ']' - ;
arrayLiteral: - '[' (assignExpression (',' assignExpression)*)? ']' - ;
arrayMemberInitialization: - (assignExpression ':')? nonVoidInitializer - ;
asmAddExp: - asmMulExp - | asmAddExp ('+' | '-') asmMulExp - ;
asmAndExp: - asmEqualExp ('&' asmEqualExp)? - ;
asmBrExp: - asmUnaExp - | asmBrExp '[' asmExp ']' - ;
asmEqualExp: - asmRelExp (('==' | '!=') asmRelExp)? - ;
asmExp: - asmLogOrExp ('?' asmExp ':' asmExp)? - ;
asmInstruction: - Identifier - | 'align' IntegerLiteral - | 'align' Identifier - | Identifier ':' asmInstruction - | Identifier asmExp - | Identifier operands - ;
asmLogAndExp: - asmOrExp ('&&' asmOrExp)? - ;
asmLogOrExp: - asmLogAndExp ('||' asmLogAndExp)? - ;
asmMulExp: - asmBrExp (('*' | '/' | '%') asmBrExp)? - ;
asmOrExp: - asmXorExp ('|' asmXorExp)? - ;
asmPrimaryExp: - IntegerLiteral - | FloatLiteral - | register - | identifierChain - | '$' - ;
asmRelExp: - asmShiftExp (('<' | '<=' | '>' | '>=') asmShiftExp)? - ;
asmShiftExp: - asmAddExp (('<<' | '>>' | '>>>') asmAddExp)? - ;
asmStatement: - 'asm' '{' asmInstruction+ '}' - ;
asmTypePrefix: - Identifier Identifier - | 'byte' Identifier - | 'short' Identifier - | 'int' Identifier - | 'float' Identifier - | 'double' Identifier - | 'real' Identifier - ;
asmUnaExp: - asmTypePrefix asmExp - | Identifier asmExp - | '+' asmUnaExp - | '-' asmUnaExp - | '!' asmUnaExp - | '~' asmUnaExp - | asmPrimaryExp - ;
asmXorExp: - asmAndExp ('^' asmAndExp)? - ;
assertExpression: - 'assert' '(' assignExpression (',' assignExpression)? ')' - ;
assignExpression: - ternaryExpression (assignOperator assignExpression)? - ; - assignOperator: - '=' - | '>>>=' - | '>>=' - | '<<=' - | '+=' - | '-=' - | '*=' - | '%=' - | '&=' - | '/=' - | '|=' - | '^^=' - | '^=' - | '~=' - ;
assocArrayLiteral: - '[' keyValuePairs ']' - ;
atAttribute: - '@' (Identifier | '(' argumentList ')' | functionCallExpression) - ;
attribute: - alignAttribute - | linkageAttribute - | pragmaExpression - | storageClass - | 'export' - | 'package' - | 'private' - | 'protected' - | 'public' - ;
attributeDeclaration: - attribute ':' - ;
autoDeclaration: - storageClass Identifier '=' initializer (',' Identifier '=' initializer)* ';' - ;
blockStatement: - '{' declarationsAndStatements? '}' - ;
bodyStatement: - 'body' blockStatement - ;
breakStatement: - 'break' Identifier? ';' - ;
baseClass: - (typeofExpression '.')? identifierOrTemplateChain - ;
baseClassList: - baseClass (',' baseClass)* - ;
builtinType: - 'bool' - | 'byte' - | 'ubyte' - | 'short' - | 'ushort' - | 'int' - | 'uint' - | 'long' - | 'ulong' - | 'char' - | 'wchar' - | 'dchar' - | 'float' - | 'double' - | 'real' - | 'ifloat' - | 'idouble' - | 'ireal' - | 'cfloat' - | 'cdouble' - | 'creal' - | 'void' - ;
caseRangeStatement: - 'case' assignExpression ':' '...' 'case' assignExpression ':' declarationsAndStatements - ;
caseStatement: - 'case' argumentList ':' declarationsAndStatements - ;
castExpression: - 'cast' '(' (type | castQualifier)? ')' unaryExpression - ;
castQualifier: - 'const' - | 'const' 'shared' - | 'immutable' - | 'inout' - | 'inout' 'shared' - | 'shared' - | 'shared' 'const' - | 'shared' 'inout' - ;
catch: - 'catch' '(' type Identifier? ')' declarationOrStatement - ;
catches: - catch+ - | catch* lastCatch - ;
classDeclaration: - 'class' Identifier (templateParameters constraint?)? (':' baseClassList)? structBody - ;
cmpExpression: - shiftExpression - | equalExpression - | identityExpression - | relExpression - | inExpression - ;
compileCondition: - versionCondition - | debugCondition - | staticIfCondition - ;
conditionalDeclaration: - compileCondition declaration - | compileCondition ':' declaration+ - | compileCondition declaration ('else' declaration)? - ;
conditionalStatement: - compileCondition declarationOrStatement ('else' declarationOrStatement)? - ;
constraint: - 'if' '(' expression ')' - ;
constructor: - 'this' templateParameters parameters memberFunctionAttribute* constraint? (functionBody | ';') - ;
continueStatement: - 'continue' Identifier? ';' - ;
debugCondition: - 'debug' ('(' (IntegerLiteral | Identifier) ')')? - ;
debugSpecification: - 'debug' '=' (Identifier | IntegerLiteral) ';' - ;
declaration: - attribute* - ; - declaration2: - aliasDeclaration - | aliasThisDeclaration - | classDeclaration - | conditionalDeclaration - | constructor - | destructor - | enumDeclaration - | functionDeclaration - | importDeclaration - | interfaceDeclaration - | mixinDeclaration - | mixinTemplateDeclaration - | pragmaDeclaration - | sharedStaticConstructor - | sharedStaticDestructor - | staticAssertDeclaration - | staticConstructor - | staticDestructor - | structDeclaration - | templateDeclaration - | unionDeclaration - | unittest - | variableDeclaration - | attributeDeclaration - | invariant - | '{' declaration+ '}' - ;
declarationsAndStatements: - declarationOrStatement+ - ;
declarationOrStatement: - declaration - | statement - ;
declarator: - Identifier ('=' initializer)? - ;
defaultStatement: - 'default' ':' declarationsAndStatements - ;
deleteExpression: - 'delete' unaryExpression - ;
deprecated: - 'deprecated' ('(' assignExpression ')')? - ;
destructor: - '~' 'this' '(' ')' (functionBody | ';') - ;
doStatement: - 'do' statementNoCaseNoDefault 'while' '(' expression ')' ';' - ;
enumBody: - ';' - | '{' enumMember (',' enumMember?)* '}' - ;
enumDeclaration: - 'enum' Identifier? (':' type)? enumBody - ;
enumMember: - Identifier - | (Identifier | type) '=' assignExpression - ;
equalExpression: - shiftExpression ('==' | '!=') shiftExpression - ;
expression: - assignExpression (',' assignExpression)* - ;
expressionStatement: - expression ';' - ;
finalSwitchStatement: - 'final' switchStatement - ;
finally: - 'finally' declarationOrStatement - ;
forStatement: - 'for' '(' declarationOrStatement expression? ';' expression? ')' declarationOrStatement - ;
foreachStatement: - ('foreach' | 'foreach_reverse') '(' foreachTypeList ';' expression ')' declarationOrStatement - | ('foreach' | 'foreach_reverse') '(' foreachType ';' expression '..' expression ')' declarationOrStatement - ;
foreachType: - typeConstructors? type? Identifier - ;
foreachTypeList: - foreachType (',' foreachType)* - ;
functionAttribute: - atAttribute - | 'pure' - | 'nothrow' - ;
functionBody: - blockStatement - | (inStatement | outStatement | outStatement inStatement | inStatement outStatement)? bodyStatement - ;
functionCallExpression: - unaryExpression templateArguments? arguments - ;
functionCallStatement: - functionCallExpression ';' - ;
functionDeclaration: - (storageClass | type) Identifier templateParameters parameters memberFunctionAttribute* constraint? (functionBody | ';') - ;
functionLiteralExpression: - (('function' | 'delegate') type?)? (parameters functionAttribute*)? functionBody - ;
gotoStatement: - 'goto' (Identifier | 'default' | 'case' expression?) ';' - ;
identifierChain: - Identifier ('.' Identifier)* - ;
identifierList: - Identifier (',' Identifier)* - ;
identifierOrTemplateChain: - identifierOrTemplateInstance ('.' identifierOrTemplateInstance)* - ;
identifierOrTemplateInstance: - Identifier - | templateInstance - ;
identityExpression: - shiftExpression ('is' | '!' 'is') shiftExpression - ;
ifStatement: - 'if' '(' ifCondition ')' declarationOrStatement ('else' declarationOrStatement)? - ifCondition: - 'auto' Identifier '=' expression - | type Identifier '=' expression - | expression - ;
importBind: - Identifier ('=' Identifier)? - ;
importBindings: - singleImport ':' importBind (',' importBind)* - ;
importDeclaration: - 'import' singleImport (',' singleImport)* (',' importBindings)? ';' - | 'import' importBindings ';' - ;
importExpression: - 'import' '(' assignExpression ')' - ;
indexExpression: - unaryExpression '[' argumentList ']' - ;
inExpression: - shiftExpression ('in' | '!' 'in') shiftExpression - ;
inStatement: - 'in' blockStatement - ;
initialize: - ';' - | statementNoCaseNoDefault - ;
initializer: - 'void' - | nonVoidInitializer - ;
interfaceDeclaration: - 'interface' Identifier (templateParameters constraint?)? (':' baseClassList)? structBody - ;
invariant: - 'invariant' ('(' ')')? blockStatement - ;
isExpression: - 'is' '(' type Identifier? ((':' | '==') typeSpecialization (',' templateParameterList)?)? ')' - ;
keyValuePair: - assignExpression ':' assignExpression - ;
keyValuePairs: - keyValuePair (',' keyValuePair)* ','? - ;
labeledStatement: - Identifier ':' declarationOrStatement - ;
lambdaExpression: - Identifier '=>' assignExpression - | 'function' parameters functionAttribute* '=>' assignExpression - | 'delegate' parameters functionAttribute* '=>' assignExpression - | parameters functionAttribute* '=>' assignExpression - ;
lastCatch: - 'catch' statementNoCaseNoDefault - ;
linkageAttribute: - 'extern' '(' Identifier '++'? ')' - ;
memberFunctionAttribute: - functionAttribute - | 'immutable' - | 'inout' - | 'shared' - | 'const' - ;
mixinDeclaration: - mixinExpression ';' - | templateMixinExpression ';' - ;
mixinExpression: - 'mixin' '(' assignExpression ')' - ;
mixinTemplateDeclaration: - 'mixin' templateDeclaration - ;
mixinTemplateName: - symbol - | typeofExpression '.' identifierOrTemplateChain - ;
module: - moduleDeclaration? declaration* - ;
moduleDeclaration: - 'module' identifierChain ';' - ;
mulExpression: - powExpression - | mulExpression ('*' | '/' | '%') powExpression - ;
newAnonClassExpression: - 'new' arguments? 'class' arguments? baseClassList? structBody - ;
newExpression: - 'new' type ('[' assignExpression ']' | arguments)? - | newAnonClassExpression - ;
statementNoCaseNoDefault: - labeledStatement - | blockStatement - | ifStatement - | whileStatement - | doStatement - | forStatement - | foreachStatement - | switchStatement - | finalSwitchStatement - | continueStatement - | breakStatement - | returnStatement - | gotoStatement - | withStatement - | synchronizedStatement - | tryStatement - | throwStatement - | scopeGuardStatement - | asmStatement - | conditionalStatement - | staticAssertStatement - | versionSpecification - | debugSpecification - | expressionStatement - ;
nonVoidInitializer: - assignExpression - | arrayInitializer - | structInitializer - ;
operands: - asmExp+ - ;
orExpression: - xorExpression - | orExpression '|' xorExpression - ;
orOrExpression: - andAndExpression - | orOrExpression '||' andAndExpression - ;
outStatement: - 'out' ('(' Identifier ')')? blockStatement - ;
parameter: - parameterAttribute* type (Identifier? '...' | (Identifier? ('=' assignExpression)?))? - ;
parameterAttribute: - typeConstructor - | 'final' - | 'in' - | 'lazy' - | 'out' - | 'ref' - | 'scope' - | 'auto' - ;
parameters: - '(' parameter (',' parameter)* (',' '...')? ')' - | '(' '...' ')' - | '(' ')' - ;
postblit: - 'this' '(' 'this' ')' (functionBody | ';') - ;
postIncDecExpression: - unaryExpression ('++' | '--') - ;
powExpression: - unaryExpression - | powExpression '^^' unaryExpression - ;
pragmaDeclaration: - pragmaExpression ';' - ;
pragmaExpression: - 'pragma' '(' Identifier (',' argumentList)? ')' - ;
preIncDecExpression: - ('++' | '--') unaryExpression - ;
primaryExpression: - identifierOrTemplateInstance - | '.' identifierOrTemplateInstance - | basicType '.' Identifier - | typeofExpression - | typeidExpression - | vector - | arrayLiteral - | assocArrayLiteral - | '(' expression ')' - | isExpression - | lambdaExpression - | functionLiteralExpression - | traitsExpression - | mixinExpression - | importExpression - | '$' - | 'this' - | 'super' - | 'null' - | 'true' - | 'false' - | '__DATE__' - | '__TIME__' - | '__TIMESTAMP__' - | '__VENDOR__' - | '__VERSION__' - | '__FILE__' - | '__LINE__' - | '__MODULE__' - | '__FUNCTION__' - | '__PRETTY_FUNCTION__' - | IntegerLiteral - | FloatLiteral - | StringLiteral+ - | CharacterLiteral - ;
register: - Identifier - | Identifier '(' IntegerLiteral ')' - ;
relExpression: - shiftExpression - | relExpression relOperator shiftExpression - ; - relOperator: - '<' - | '<=' - | '>' - | '>=' - | '!<>=' - | '!<>' - | '<>' - | '<>=' - | '!>' - | '!>=' - | '!<' - | '!<=' - ;
returnStatement: - 'return' expression? ';' - ;
scopeGuardStatement: - 'scope' '(' Identifier ')' statementNoCaseNoDefault - ;
sharedStaticConstructor: - 'shared' 'static' 'this' '(' ')' functionBody - ;
sharedStaticDestructor: - 'shared' 'static' '~' 'this' '(' ')' functionBody - ;
shiftExpression: - addExpression - | shiftExpression ('<<' | '>>' | '>>>') addExpression - ;
singleImport: - (Identifier '=')? identifierChain - ;
sliceExpression: - unaryExpression '[' assignExpression '..' assignExpression ']' - | unaryExpression '[' ']' - ;
statement: - statementNoCaseNoDefault - | caseStatement - | caseRangeStatement - | defaultStatement - ;
staticAssertDeclaration: - staticAssertStatement - ;
staticAssertStatement: - 'static' assertExpression ';' - ;
staticConstructor: - 'static' 'this' '(' ')' functionBody - ;
staticDestructor: - 'static' '~' 'this' '(' ')' functionBody - ;
staticIfCondition: - 'static' 'if' '(' assignExpression ')' - ;
storageClass: - atAttribute - | typeConstructor - | deprecated - | 'abstract' - | 'auto' - | 'enum' - | 'extern' - | 'final' - | 'nothrow' - | 'override' - | 'pure' - | 'ref' - | '__gshared' - | 'scope' - | 'static' - | 'synchronized' - ;
structBody: - '{' declaration* '}' - ;
structDeclaration: - 'struct' Identifier? (templateParameters constraint? structBody | (structBody | ';')) - ;
structInitializer: - '{' structMemberInitializers? '}' - ;
structMemberInitializer: - (Identifier ':')? nonVoidInitializer - ;
structMemberInitializers: - structMemberInitializer (',' structMemberInitializer?)* - ;
switchStatement: - 'switch' '(' expression ')' statement - ;
symbol: - '.'? identifierOrTemplateChain - ;
synchronizedStatement: - 'synchronized' ('(' expression ')')? statementNoCaseNoDefault - ;
templateAliasParameter: - 'alias' type? Identifier (':' (type | assignExpression))? ('=' (type | assignExpression))? - ;
templateArgument: - type - | assignExpression - ;
templateArgumentList: - templateArgument (',' templateArgument?)* - ;
templateArguments: - '!' ('(' templateArgumentList? ')' | templateSingleArgument) - ;
templateDeclaration: - 'template' Identifier templateParameters constraint? '{' declaration* '}' - | eponymousTemplateDeclaration - ;
eponymousTemplateDeclaration: - 'enum' Identifier templateParameters '=' assignExpression ';' - ;
templateInstance: - Identifier templateArguments - ;
templateMixinExpression: - 'mixin' mixinTemplateName templateArguments? Identifier? - ;
templateParameter: - templateTypeParameter - | templateValueParameter - | templateAliasParameter - | templateTupleParameter - | templateThisParameter - ;
templateParameterList: - templateParameter (',' templateParameter?)* - ;
templateParameters: - '(' templateParameterList? ')' - ;
templateSingleArgument: - builtinType - | Identifier - | CharacterLiteral - | StringLiteral - | IntegerLiteral - | FloatLiteral - | 'true' - | 'false' - | 'null' - | 'this' - | '__DATE__' - | '__TIME__' - | '__TIMESTAMP__' - | '__VENDOR__' - | '__VERSION__' - | '__FILE__' - | '__LINE__' - | '__MODULE__' - | '__FUNCTION__' - | '__PRETTY_FUNCTION__' - ;
templateThisParameter: - 'this' templateTypeParameter - ;
templateTupleParameter: - Identifier '...' - ;
templateTypeParameter: - Identifier (':' type)? ('=' type)? - ;
templateValueParameter: - type Identifier (':' expression)? templateValueParameterDefault? - ;
templateValueParameterDefault: - '=' ('__FILE__' | '__MODULE__' | '__LINE__' | '__FUNCTION__' | '__PRETTY_FUNCTION__' | assignExpression) - ;
ternaryExpression: - orOrExpression ('?' expression ':' ternaryExpression)? - ;
throwStatement: - 'throw' expression ';' - ;
traitsExpression: - '__traits' '(' Identifier ',' TemplateArgumentList ')' - ;
tryStatement: - 'try' declarationOrStatement (catches | catches finally | finally) - ;
type: - attribute? type2 typeSuffix* - ;
type2: - builtinType - | symbol - | typeofExpression ('.' identifierOrTemplateChain)? - | typeConstructor '(' type ')' - ;
typeConstructor: - 'const' - | 'immutable' - | 'inout' - | 'shared' - | 'scope' - ;
typeConstructors: - typeConstructor+ - ;
typeSpecialization: - type - | 'struct' - | 'union' - | 'class' - | 'interface' - | 'enum' - | 'function' - | 'delegate' - | 'super' - | 'const' - | 'immutable' - | 'inout' - | 'shared' - | 'return' - | 'typedef' - | '__parameters' - ;
typeSuffix: - '*' - | '[' type? ']' - | '[' assignExpression ']' - | '[' assignExpression '..' assignExpression ']' - | ('delegate' | 'function') parameters memberFunctionAttribute* - ;
typeidExpression: - 'typeid' '(' (type | expression) ')' - ;
typeofExpression: - 'typeof' '(' (expression | 'return') ')' - ;
unaryExpression: - primaryExpression - | '&' unaryExpression - | '!' unaryExpression - | '*' unaryExpression - | '+' unaryExpression - | '-' unaryExpression - | '~' unaryExpression - | '++' unaryExpression - | '--' unaryExpression - | newExpression - | deleteExpression - | castExpression - | assertExpression - | functionCallExpression - | sliceExpression - | indexExpression - | '$LPAREN' type '$RPAREN' '.' identifierOrTemplateInstance - | unaryExpression '.' identifierOrTemplateInstance - | unaryExpression '--' - | unaryExpression '++' - ;
unionDeclaration: - 'union' Identifier templateParameters constraint? structBody - | 'union' Identifier (structBody | ';') - | 'union' structBody - ;
unittest: - 'unittest' blockStatement - ;
variableDeclaration: - type declarator (',' declarator)* ';' - | autoDeclaration - ;
vector: - '__vector' '(' type ')' - ;
versionCondition: - 'version' '(' (IntegerLiteral | Identifier | 'unittest' | 'assert') ')' - ;
versionSpecification: - 'version' '=' (Identifier | IntegerLiteral) ';' - ;
whileStatement: - 'while' '(' expression ')' declarationOrStatement - ;
withStatement: - 'with' '(' expression ')' statementNoCaseNoDefault - ;
xorExpression: - andExpression - | xorExpression '^' andExpression - ;