DartGrammarDefinition class

Complete grammar and parser definition for the Dart programming language.

Built using modern modular PetitParser mixins and produces typed DartNode AST representations.

Constructors

DartGrammarDefinition()

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

abstractToken() → Parser<Token<String>>
inherited
argument() → Parser<ArgumentNode>
inherited
argumentList() → Parser<List<ArgumentNode>>
inherited
assertInitializer() → Parser<AssertInitializerNode>
inherited
assertStatement() → Parser<AssertStatementNode>
inherited
assertToken() → Parser<Token<String>>
inherited
asToken() → Parser<Token<String>>
inherited
asyncOrSyncModifier() → Parser<String>
inherited
asyncToken() → Parser<Token<String>>
inherited
awaitToken() → Parser<Token<String>>
inherited
baseToken() → Parser<Token<String>>
inherited
block() → Parser<BlockStatementNode>
Abstract block statement reference needed for function closures.
inherited
booleanLiteral() → Parser<BooleanLiteralNode>
inherited
breakStatement() → Parser<BreakStatementNode>
inherited
breakToken() → Parser<Token<String>>
inherited
build() → Parser<CompilationUnitNode>
Builds the default composite parser starting at start.
inherited
buildFrom<T>(Parser<T> parser) → Parser<T>
Builds a composite parser starting with the specified parser.
inherited
cascadeSection() → Parser<ExpressionNode>
inherited
caseToken() → Parser<Token<String>>
inherited
catchClause() → Parser<CatchClauseNode>
inherited
catchParameters() → Parser<(String, String?)>
inherited
catchToken() → Parser<Token<String>>
inherited
classDeclaration() → Parser<ClassDeclarationNode>
inherited
classMemberDefinition() → Parser<DeclarationNode>
inherited
classModifier() → Parser<String>
inherited
classToken() → Parser<Token<String>>
inherited
collectionElement() → Parser<CollectionElementNode>
inherited
collectionLiteral() → Parser<CollectionLiteralNode>
List, Set, or Map literal ([1, 2], {'a': 1}, <int>{1, 2}).
inherited
combinator() → Parser<CombinatorNode>
inherited
compilationUnit() → Parser<CompilationUnitNode>
inherited
configurationUri() → Parser<ConfigurationUriNode>
inherited
constantPattern() → Parser<ConstantPatternNode>
Constant pattern (literals, const expressions, identifier constants).
inherited
constructorBodyOrInitializers() → Parser<(List<ConstructorInitializerNode>, FunctionBodyNode?, String?)>
inherited
constructorDeclaration() → Parser<ConstructorDeclarationNode>
inherited
constructorIdentifier() → Parser<String>
inherited
constructorInitializer() → Parser<ConstructorInitializerNode>
inherited
constructorInitializers() → Parser<List<ConstructorInitializerNode>>
inherited
constructorInvocation() → Parser<InvocationExpressionNode>
Constructor invocation (new Foo(...) or const Foo(...)).
inherited
constructorInvocationWithTypeArguments() → Parser<InvocationExpressionNode>
Constructor invocation without new or const that has type arguments (Foo<int>(...) or Foo<int>.named(...)).
inherited
constToken() → Parser<Token<String>>
inherited
continueStatement() → Parser<ContinueStatementNode>
inherited
continueToken() → Parser<Token<String>>
inherited
covariantToken() → Parser<Token<String>>
inherited
dartPattern() → Parser<PatternNode>
The main pattern production.
inherited
decimalDigits() → Parser<String>
inherited
decimalOrDoubleNumber() → Parser<LiteralNode<num>>
inherited
defaultFormalParameter() → Parser<ParameterNode>
inherited
defaultNamedFormalParameter() → Parser<ParameterNode>
inherited
defaultToken() → Parser<Token<String>>
inherited
deferredToken() → Parser<Token<String>>
inherited
directive() → Parser<DirectiveNode>
inherited
doToken() → Parser<Token<String>>
inherited
doWhileStatement() → Parser<DoWhileStatementNode>
inherited
dynamicToken() → Parser<Token<String>>
inherited
elseToken() → Parser<Token<String>>
inherited
emptyStatement() → Parser<EmptyStatementNode>
inherited
enumBody() → Parser<(List<EnumConstantNode>, List<DeclarationNode>)>
inherited
enumConstant() → Parser<EnumConstantNode>
inherited
enumDeclaration() → Parser<EnumDeclarationNode>
inherited
enumToken() → Parser<Token<String>>
inherited
exponent() → Parser<String>
inherited
exportDirective() → Parser<ExportDirectiveNode>
inherited
exportToken() → Parser<Token<String>>
inherited
expression() → Parser<ExpressionNode>
The main expression production.
inherited
expressionBuilderParser() → Parser<ExpressionNode>
Expression builder setup.
inherited
expressionElement() → Parser<ExpressionElementNode>
inherited
expressionStatement() → Parser<ExpressionStatementNode>
inherited
extendsToken() → Parser<Token<String>>
inherited
extensionDeclaration() → Parser<ExtensionDeclarationNode>
inherited
extensionToken() → Parser<Token<String>>
inherited
extensionTypeDeclaration() → Parser<ExtensionTypeDeclarationNode>
inherited
externalToken() → Parser<Token<String>>
inherited
factoryToken() → Parser<Token<String>>
inherited
falseToken() → Parser<Token<String>>
inherited
fieldDeclaration() → Parser<FieldDeclarationNode>
inherited
fieldFormalParameter() → Parser<SimpleParameterNode>
inherited
fieldInitializer() → Parser<FieldInitializerNode>
inherited
fieldModifier() → Parser<String>
inherited
finallyClause() → Parser<BlockStatementNode>
inherited
finallyToken() → Parser<Token<String>>
inherited
finalToken() → Parser<Token<String>>
inherited
forElement() → Parser<CollectionElementNode>
inherited
forLoopParts() → Parser<Object>
Abstract for-loop parts reference needed for collection for-elements.
inherited
formalParameterListInternal() → Parser<List<ParameterNode>>
inherited
formalParameters() → Parser<List<ParameterNode>>
Parameter list (...).
inherited
forStatement() → Parser<StatementNode>
inherited
forToken() → Parser<Token<String>>
inherited
functionBody() → Parser<FunctionBodyNode>
inherited
functionDeclaration() → Parser<FunctionDeclarationNode>
Abstract declaration for function declarations defined in DartDeclarationGrammar.
inherited
functionDeclarationStatement() → Parser<FunctionDeclarationStatementNode>
A function declaration used as a statement.
inherited
functionExpression() → Parser<FunctionExpressionNode>
inherited
functionToken() → Parser<Token<String>>
inherited
functionTypedFormalParameter() → Parser<FunctionTypedParameterNode>
inherited
getterDeclaration() → Parser<FunctionDeclarationNode>
inherited
getToken() → Parser<Token<String>>
inherited
hashbang() → Parser<String>
inherited
hexDigits() → Parser<String>
inherited
hexNumber() → Parser<IntegerLiteralNode>
inherited
hiddenStuffWhitespace() → Parser<void>
inherited
hiddenWhitespace() → Parser<void>
inherited
hideToken() → Parser<Token<String>>
inherited
identifier() → Parser<String>
A standard Dart identifier.
inherited
identifierExpression() → Parser<IdentifierNode>
inherited
identifierPart() → Parser<String>
inherited
identifierStart() → Parser<String>
inherited
ifCondition() → Parser<(ExpressionNode, PatternNode?, ExpressionNode?)>
inherited
ifElement() → Parser<IfElementNode>
inherited
ifStatement() → Parser<IfStatementNode>
inherited
ifToken() → Parser<Token<String>>
inherited
implementsToken() → Parser<Token<String>>
inherited
importDirective() → Parser<ImportDirectiveNode>
inherited
importToken() → Parser<Token<String>>
inherited
interfaceToken() → Parser<Token<String>>
inherited
interpolatedString() → Parser<ExpressionNode>
String interpolation: simple $foo or ${expression}.
inherited
interpolationIdentifier() → Parser<String>
inherited
inToken() → Parser<Token<String>>
inherited
isToken() → Parser<Token<String>>
inherited
keyword(String name) → Parser<Token<String>>
Helper for keywords that must not be followed by an identifier character.
inherited
labeledStatement() → Parser<LabeledStatementNode>
inherited
lateToken() → Parser<Token<String>>
inherited
libraryDirective() → Parser<LibraryDirectiveNode>
inherited
libraryToken() → Parser<Token<String>>
inherited
listPattern() → Parser<ListPatternNode>
List pattern ([a, b, ...rest]).
inherited
listPatternElement() → Parser<PatternNode>
inherited
literal() → Parser<ExpressionNode>
inherited
logicalAndPattern() → Parser<PatternNode>
Logical-AND pattern (p1 && p2).
inherited
logicalOrPattern() → Parser<PatternNode>
Logical-OR pattern (p1 || p2).
inherited
mapEntryElement() → Parser<MapEntryElementNode>
inherited
mapPattern() → Parser<MapPatternNode>
Map pattern ({'a': 1, 'b': var x}).
inherited
mapPatternEntry() → Parser<MapPatternEntryNode>
inherited
metadata() → Parser<AnnotationNode>
inherited
metadataList() → Parser<List<AnnotationNode>>
Abstract metadata reference.
inherited
methodBody() → Parser<FunctionBodyNode>
inherited
methodModifier() → Parser<String>
inherited
methodOrFunctionDeclaration() → Parser<FunctionDeclarationNode>
inherited
mixinDeclaration() → Parser<MixinDeclarationNode>
inherited
mixinToken() → Parser<Token<String>>
inherited
multiLineComment() → Parser<String>
inherited
namedType() → Parser<NamedTypeNode>
A named type with optional generics and nullability (int, List<String>?).
inherited
namedTypeWithoutNullable() → Parser<NamedTypeNode>
A named type without trailing ?.
inherited
newToken() → Parser<Token<String>>
inherited
nonFunctionType() → Parser<TypeNode>
A type that is not an unparenthesized function type.
inherited
nonFunctionTypeWithoutNullable() → Parser<TypeNode>
A non-function type without a trailing ?.
inherited
normalFormalParameter() → Parser<ParameterNode>
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
nullLiteral() → Parser<NullLiteralNode>
inherited
nullToken() → Parser<Token<String>>
inherited
numericLiteral() → Parser<LiteralNode<num>>
inherited
objectPattern() → Parser<ObjectPatternNode>
Object pattern (Point(x: var x, y: 0)).
inherited
ofToken() → Parser<Token<String>>
inherited
onToken() → Parser<Token<String>>
inherited
operatorDeclaration() → Parser<FunctionDeclarationNode>
inherited
operatorToken() → Parser<Token<String>>
inherited
optionalNamedFormalParameters() → Parser<List<ParameterNode>>
inherited
optionalPositionalFormalParameters() → Parser<List<ParameterNode>>
inherited
outerPattern() → Parser<PatternNode>
Outer pattern for pattern variable declarations: (a, b), [a, b], {'k': v}, Foo(a: b).
inherited
parenthesizedOrRecordLiteral() → Parser<ExpressionNode>
Parenthesized expression or record literal (...).
inherited
parenthesizedOrRecordPattern() → Parser<PatternNode>
Parenthesized or record pattern (...).
inherited
partDirective() → Parser<PartDirectiveNode>
inherited
partOfDirective() → Parser<PartOfDirectiveNode>
inherited
partToken() → Parser<Token<String>>
inherited
patternField() → Parser<PatternFieldNode>
A field inside an object or record pattern (name: pattern or :pattern or pattern).
inherited
patternGuard() → Parser<ExpressionNode>
Pattern guard when expression.
inherited
patternVariableDeclarationStatement() → Parser<PatternVariableDeclarationStatementNode>
inherited
patternVariableIdentifier() → Parser<String>
Pattern variable identifier (forbidding when keyword).
inherited
primary() → Parser<ExpressionNode>
inherited
primaryPattern() → Parser<PatternNode>
Primary patterns.
inherited
qualifiedIdentifier() → Parser<String>
A qualified identifier (a.b.c).
inherited
rawIdentifier() → Parser<String>
inherited
rawStringLiteral() → Parser<StringLiteralNode>
inherited
recordLiteralField() → Parser<RecordLiteralFieldNode>
inherited
recordType() → Parser<RecordTypeNode>
A record type ((int, String), ({int a, String b}), ()).
inherited
recordTypeFields() → Parser<(List<RecordTypeFieldNode>, List<RecordTypeFieldNode>)>
inherited
recordTypeNamedField() → Parser<RecordTypeFieldNode>
inherited
recordTypeNamedFields() → Parser<List<RecordTypeFieldNode>>
inherited
recordTypePositionalField() → Parser<RecordTypeFieldNode>
inherited
recordTypeWithoutNullable() → Parser<RecordTypeNode>
A record type without trailing ?.
inherited
redirectingConstructorInitializer() → Parser<RedirectingConstructorInitializerNode>
inherited
relationalOrUnaryPattern() → Parser<PatternNode>
inherited
relationalPattern() → Parser<RelationalPatternNode>
Relational pattern (> 5, <= 10, == 0, != null).
inherited
requiredToken() → Parser<Token<String>>
inherited
restPattern() → Parser<RestPatternNode>
inherited
rethrowStatement() → Parser<RethrowStatementNode>
inherited
rethrowToken() → Parser<Token<String>>
inherited
returnStatement() → Parser<ReturnStatementNode>
inherited
returnToken() → Parser<Token<String>>
inherited
sealedToken() → Parser<Token<String>>
inherited
setterDeclaration() → Parser<FunctionDeclarationNode>
inherited
setToken() → Parser<Token<String>>
inherited
showToken() → Parser<Token<String>>
inherited
simpleFormalParameter() → Parser<SimpleParameterNode>
inherited
simpleStringLiteral() → Parser<StringLiteralNode>
inherited
singleLineComment() → Parser<String>
inherited
singleStringLiteral() → Parser<ExpressionNode>
inherited
spreadElement() → Parser<SpreadElementNode>
inherited
start() → Parser<CompilationUnitNode>
Returns the starting production of this definition.
statement() → Parser<StatementNode>
The main statement production.
inherited
staticToken() → Parser<Token<String>>
inherited
stringInterpolationContentDouble() → Parser<DartNode>
inherited
stringInterpolationContentMultiDouble() → Parser<DartNode>
inherited
stringInterpolationContentMultiSingle() → Parser<DartNode>
inherited
stringInterpolationContentSingle() → Parser<DartNode>
inherited
stringLiteral() → Parser<ExpressionNode>
inherited
superConstructorInitializer() → Parser<SuperConstructorInitializerNode>
inherited
superExpression() → Parser<SuperExpressionNode>
inherited
superToken() → Parser<Token<String>>
inherited
switchCase() → Parser<SwitchPatternCaseNode>
inherited
switchExpression() → Parser<SwitchExpressionNode>
inherited
switchExpressionCase() → Parser<SwitchExpressionCaseNode>
inherited
switchStatement() → Parser<SwitchStatementNode>
inherited
switchToken() → Parser<Token<String>>
inherited
symbolLiteral() → Parser<SymbolLiteralNode>
inherited
syncToken() → Parser<Token<String>>
inherited
thisExpression() → Parser<ThisExpressionNode>
inherited
thisToken() → Parser<Token<String>>
inherited
throwToken() → Parser<Token<String>>
inherited
token<T>(Object input) → Parser<Token<T>>
Helper to convert a string or parser into a trimmed token.
inherited
topLevelDefinition() → Parser<DeclarationNode>
inherited
toString() → String
A string representation of this object.
inherited
trueToken() → Parser<Token<String>>
inherited
tryStatement() → Parser<TryStatementNode>
inherited
tryToken() → Parser<Token<String>>
inherited
type() → Parser<TypeNode>
The main type production.
inherited
typeAliasDeclaration() → Parser<TypeAliasDeclarationNode>
inherited
typeArguments() → Parser<List<TypeNode>>
Type arguments list (<int, String>).
inherited
typedefToken() → Parser<Token<String>>
inherited
typeList() → Parser<List<TypeNode>>
inherited
typeParameter() → Parser<TypeParameterNode>
A single type parameter (T extends S).
inherited
typeParameters() → Parser<List<TypeParameterNode>>
Type parameters declaration (<T extends Object, U>).
inherited
typeTestNullableSuffix() → Parser<Token>
Lookahead for trailing ? in typeTestType that is NOT part of a ternary ? :.
inherited
typeTestType() → Parser<TypeNode>
A type used in type tests and type casts (is, is!, as), where the outermost type can have a trailing ? if not followed by an expression (disambiguating against ternary conditional ? :).
inherited
typeToken() → Parser<Token<String>>
inherited
unaryPattern() → Parser<PatternNode>
Unary / postfix pattern (p as T, p?, p!).
inherited
userDefinableOperator() → Parser<String>
inherited
variableDeclaration() → Parser<VariableDeclarationStatementNode>
inherited
variableDeclarationStatement() → Parser<VariableDeclarationStatementNode>
inherited
variableDeclarator() → Parser<VariableDeclaratorNode>
inherited
variablePattern() → Parser<VariablePatternNode>
Variable pattern (var x, final x, final int x, int x).
inherited
varToken() → Parser<Token<String>>
inherited
visibleWhitespace() → Parser<String>
inherited
voidToken() → Parser<Token<String>>
inherited
voidType() → Parser<TypeNode>
A void type.
inherited
whenToken() → Parser<Token<String>>
inherited
whileStatement() → Parser<WhileStatementNode>
inherited
whileToken() → Parser<Token<String>>
inherited
wildcardPattern() → Parser<WildcardPatternNode>
Wildcard pattern (_ or Type _).
inherited
wildcardToken() → Parser<Token<String>>
Wildcard token (_ not followed by identifier characters).
inherited
withToken() → Parser<Token<String>>
inherited
yieldStatement() → Parser<YieldStatementNode>
inherited
yieldToken() → Parser<Token<String>>
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited