compiler/Dart__Parser.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 11 Jan 2013 13:40:41 +0000
changeset 3 46c322c66a29
parent 2 8fedb5e096fc
child 4 5ef74750c3bc
permissions -rw-r--r--
More work on parser.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:dart/compiler' }"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Dart }"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
PPCompositeParser subclass:#Parser
2
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
     6
	instanceVariableNames:'additiveExpression additiveOperator argumentList arguments
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
     7
		assignableExpression assignableSelector assignmentOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
     8
		bitwiseAndExpression bitwiseOperator bitwiseOrExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
     9
		bitwiseXorExpression block catchPart classDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    10
		classMemberDefinition compilationUnit compoundLiteral
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    11
		conditionalExpression constInitializedIdentifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    12
		constInitializedVariableDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    13
		constantConstructorDeclaration constantExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    14
		constructorDeclaration declaration declaredIdentifier defaultCase
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    15
		defaultFormalParameter directive equalityExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    16
		equalityOperator expression expressionInParentheses
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    17
		expressionList factoryConstructorDeclaration factorySpecification
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    18
		fieldFormalParameter fieldInitializer finalVarOrType finallyPart
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    19
		forInitializerStatement forLoopParts formalParameterList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    20
		functionBody functionBodyOrNative functionDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    21
		functionExpression functionExpressionBody functionNative
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    22
		functionPrefix functionTypeAlias getOrSet identifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    23
		importReference importReferences incrementOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    24
		initializedIdentifier initializedIdentifierList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    25
		initializedVariableDeclaration initializers interfaceDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    26
		interfaceMemberDefinition interfaces isOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    27
		iterationStatement label libraryBody libraryDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    28
		libraryImport librarySource libraryUnit listLiteral literal
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    29
		logicalAndExpression logicalOrExpression mapLiteral
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    30
		mapLiteralEntry methodDeclaration multiplicativeExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    31
		multiplicativeOperator namedArgument namedConstructorDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    32
		namedFormalParameters negateOperator nonLabelledStatement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    33
		normalFormalParameter normalFormalParameterTail postfixExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    34
		postfixOperator prefixOperator primary primaryFE primaryNoFE
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    35
		qualified redirection relationalExpression relationalOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    36
		returnType selectionStatement selector shiftExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    37
		shiftOperator simpleFormalParameter sourceUrls
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    38
		specialSignatureDefinition statement statements
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    39
		staticFinalDeclaration staticFinalDeclarationList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    40
		superCallOrFieldInitializer superclass superinterfaces switchCase
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    41
		topLevelDefinition tryStatement type typeArguments typeList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    42
		typeParameter typeParameters unaryExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    43
		userDefinableOperator variableDeclaration'
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    44
	classVariableNames:'Debugging'
1
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
	poolDictionaries:''
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
	category:'Languages-Dart-Parser'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
PPParser subclass:#TokenParser
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
	instanceVariableNames:'tokenType'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
	classVariableNames:''
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
	poolDictionaries:''
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
	privateIn:Parser
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
2
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    57
!Parser methodsFor:'grammar'!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    58
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    59
additiveExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    60
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    61
        ^ (multiplicativeExpression , ((additiveOperator , multiplicativeExpression) star))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    62
        / ((TokenParser for: #super) , ((additiveOperator , multiplicativeExpression) plus))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    63
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    64
    "Modified: / 11-01-2013 / 09:59:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    65
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    66
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    67
additiveOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    68
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    69
	^ ('+' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    70
	/ ('-' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    71
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    72
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    73
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    74
argumentList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    75
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    76
	^ (namedArgument , (((',' asParser) , namedArgument) star))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    77
	/ (expressionList , (((',' asParser) , namedArgument) star))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    78
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    79
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    80
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    81
arguments
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    82
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    83
	^('(' asParser) , (argumentList optional) , (')' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    84
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    85
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    86
assignableExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    87
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    88
        ^ (primary , (((arguments star) , assignableSelector) plus))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    89
        / ((TokenParser for: #super) , assignableSelector)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    90
        / identifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    91
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    92
    "Modified: / 11-01-2013 / 10:00:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    93
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    94
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    95
assignableSelector
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    96
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    97
	^ (('[' asParser) , constantExpression , (']' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    98
	/ (('.' asParser) , identifier)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    99
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   100
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   101
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   102
assignmentOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   103
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   104
	^ ('=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   105
	/ ('*=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   106
	/ ('/=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   107
	/ ('~/=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   108
	/ ('%=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   109
	/ ('+=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   110
	/ ('-=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   111
	/ ('<<=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   112
	/ (('>' asParser) , ('>' asParser) , ('>' asParser) , ('=' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   113
	/ (('>' asParser) , ('>' asParser) , ('=' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   114
	/ ('&=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   115
	/ ('^=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   116
	/ ('|=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   117
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   118
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   119
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   120
bitwiseAndExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   121
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   122
        ^ (equalityExpression , ((('&' asParser) , equalityExpression) star))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   123
        / ((TokenParser for: #super) , ((('&' asParser) , equalityExpression) plus))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   124
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   125
    "Modified: / 11-01-2013 / 10:00:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   126
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   127
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   128
bitwiseOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   129
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   130
	^ ('&' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   131
	/ ('^' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   132
	/ ('|' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   133
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   134
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   135
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   136
bitwiseOrExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   137
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   138
	^ (bitwiseXorExpression , ((('|' asParser) , bitwiseXorExpression) star))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   139
	/ ((TokenParser for:#super) , ((('|' asParser) , bitwiseXorExpression) plus))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   140
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   141
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   142
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   143
bitwiseXorExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   144
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   145
	^ (bitwiseAndExpression , ((('^' asParser) , bitwiseAndExpression) star))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   146
	/ ((TokenParser for:#super) , ((('^' asParser) , bitwiseAndExpression) plus))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   147
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   148
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   149
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   150
block
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   151
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   152
	^('{' asParser) , statements , ('}' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   153
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   154
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   155
catchPart
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   156
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   157
	^(TokenParser for:#catch) , ('(' asParser) , declaredIdentifier , (((',' asParser) , declaredIdentifier) optional) , (')' asParser) , block
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   158
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   159
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   160
classDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   161
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   162
	^ ((TokenParser for:#class) , identifier , (typeParameters optional) , (superclass optional) , (interfaces optional) , ('{' asParser) , (classMemberDefinition star) , ('}' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   163
	/ ((TokenParser for:#class) , identifier , (typeParameters optional) , (interfaces optional) , (TokenParser for:#native) , (TokenParser for:#string) , ('{' asParser) , (classMemberDefinition star) , ('}' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   164
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   165
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   166
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   167
classMemberDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   168
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   169
	^ (declaration , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   170
	/ (constructorDeclaration , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   171
	/ (methodDeclaration , functionBodyOrNative)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   172
	/ ((TokenParser for:#const) , factoryConstructorDeclaration , functionNative)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   173
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   174
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   175
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   176
compilationUnit
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   177
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   178
        ^( ((TokenParser for: #'#!!') optional) , (directive star) , (topLevelDefinition star) ) end
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   179
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   180
    "Modified: / 11-01-2013 / 10:02:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   181
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   182
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   183
compoundLiteral
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   184
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   185
	^ listLiteral
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   186
	/ mapLiteral
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   187
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   188
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   189
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   190
conditionalExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   191
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   192
	^logicalOrExpression , ((('?' asParser) , constantExpression , (':' asParser) , constantExpression) optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   193
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   194
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   195
constInitializedIdentifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   196
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   197
	^identifier , ((('=' asParser) , constantExpression) optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   198
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   199
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   200
constInitializedVariableDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   201
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   202
	^declaredIdentifier , ((('=' asParser) , constantExpression) optional) , (((',' asParser) , constInitializedIdentifier) star)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   203
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   204
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   205
constantConstructorDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   206
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   207
	^(TokenParser for:#const) , qualified , formalParameterList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   208
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   209
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   210
constantExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   211
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   212
	^ (assignableExpression , assignmentOperator , constantExpression)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   213
	/ conditionalExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   214
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   215
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   216
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   217
constructorDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   218
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   219
	^ (identifier , formalParameterList , ((redirection / initializers ) optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   220
	/ (namedConstructorDeclaration , ((redirection / initializers ) optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   221
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   222
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   223
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   224
declaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   225
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   226
	^ (constantConstructorDeclaration , ((redirection / initializers ) optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   227
	/ (functionDeclaration , redirection)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   228
	/ (namedConstructorDeclaration , redirection)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   229
	/ ((TokenParser for:#abstract) , specialSignatureDefinition)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   230
	/ ((TokenParser for:#abstract) , functionDeclaration)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   231
	/ ((TokenParser for:#static) , (TokenParser for:#final) , (type optional) , staticFinalDeclarationList)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   232
	/ (((TokenParser for:#static) optional) , constInitializedVariableDeclaration)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   233
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   234
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   235
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   236
declaredIdentifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   237
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   238
	^ ((TokenParser for:#final) , (type optional) , identifier)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   239
	/ ((TokenParser for:#var) , identifier)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   240
	/ (type , identifier)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   241
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   242
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   243
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   244
defaultCase
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   245
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   246
	^(label optional) , (((TokenParser for:#case) , constantExpression , (':' asParser)) star) , (TokenParser for:#default) , (':' asParser) , statements
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   247
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   248
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   249
defaultFormalParameter
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   250
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   251
	^normalFormalParameter , ((('=' asParser) , constantExpression) optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   252
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   253
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   254
directive
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   255
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   256
	^('#' asParser) , identifier , arguments , (';' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   257
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   258
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   259
equalityExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   260
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   261
	^ (relationalExpression , ((equalityOperator , relationalExpression) optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   262
	/ ((TokenParser for:#super) , equalityOperator , relationalExpression)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   263
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   264
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   265
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   266
equalityOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   267
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   268
	^ ('==' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   269
	/ ('!!=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   270
	/ ('===' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   271
	/ ('!!==' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   272
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   273
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   274
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   275
expressionInParentheses
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   276
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   277
	^('(' asParser) , constantExpression , (')' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   278
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   279
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   280
expressionList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   281
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   282
	^constantExpression , (((',' asParser) , constantExpression) star)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   283
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   284
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   285
factoryConstructorDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   286
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   287
	^(TokenParser for:#factory) , qualified , (typeParameters optional) , ((('.' asParser) , identifier) optional) , formalParameterList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   288
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   289
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   290
factorySpecification
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   291
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   292
	^(TokenParser for:#factory) , type
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   293
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   294
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   295
fieldFormalParameter
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   296
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   297
	^(finalVarOrType optional) , (TokenParser for:#this) , ('.' asParser) , identifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   298
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   299
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   300
fieldInitializer
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   301
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   302
	^(((TokenParser for:#this) , ('.' asParser)) optional) , identifier , ('=' asParser) , conditionalExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   303
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   304
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   305
finalVarOrType
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   306
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   307
	^ ((TokenParser for:#final) , (type optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   308
	/ (TokenParser for:#var)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   309
	/ type
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   310
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   311
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   312
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   313
finallyPart
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   314
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   315
	^(TokenParser for:#finally) , block
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   316
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   317
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   318
forInitializerStatement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   319
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   320
	^ (initializedVariableDeclaration , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   321
	/ ((constantExpression optional) , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   322
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   323
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   324
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   325
forLoopParts
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   326
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   327
	^ (forInitializerStatement , (constantExpression optional) , (';' asParser) , (expressionList optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   328
	/ (declaredIdentifier , (TokenParser for:#in) , constantExpression)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   329
	/ (identifier , (TokenParser for:#in) , constantExpression)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   330
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   331
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   332
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   333
formalParameterList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   334
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   335
	^ (('(' asParser) , (namedFormalParameters optional) , (')' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   336
	/ (('(' asParser) , normalFormalParameter , (normalFormalParameterTail optional) , (')' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   337
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   338
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   339
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   340
functionBody
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   341
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   342
	^ (('=>' asParser) , constantExpression , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   343
	/ block
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   344
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   345
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   346
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   347
functionBodyOrNative
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   348
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   349
	^ ((TokenParser for:#native) , functionBody)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   350
	/ functionNative
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   351
	/ functionBody
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   352
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   353
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   354
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   355
functionDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   356
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   357
	^(returnType optional) , identifier , formalParameterList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   358
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   359
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   360
functionExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   361
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   362
	^(((returnType optional) , identifier) optional) , formalParameterList , functionExpressionBody
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   363
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   364
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   365
functionExpressionBody
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   366
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   367
	^ (('=>' asParser) , constantExpression)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   368
	/ block
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   369
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   370
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   371
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   372
functionNative
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   373
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   374
	^(TokenParser for:#native) , ((TokenParser for:#string) optional) , (';' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   375
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   376
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   377
functionPrefix
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   378
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   379
	^(returnType optional) , identifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   380
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   381
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   382
functionTypeAlias
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   383
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   384
	^(TokenParser for:#typedef) , functionPrefix , (typeParameters optional) , formalParameterList , (';' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   385
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   386
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   387
getOrSet
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   388
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   389
	^ (TokenParser for:#get)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   390
	/ (TokenParser for:#set)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   391
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   392
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   393
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   394
identifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   395
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   396
	^ IDENTIFIER_NO_DOLLAR
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   397
	/ (TokenParser for:#identifier)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   398
	/ (TokenParser for:#abstract)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   399
	/ ASSERT
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   400
	/ (TokenParser for:#class)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   401
	/ EXTENDS
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   402
	/ (TokenParser for:#factory)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   403
	/ (TokenParser for:#get)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   404
	/ (TokenParser for:#implements)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   405
	/ (TokenParser for:#import)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   406
	/ (TokenParser for:#interface)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   407
	/ (TokenParser for:#is)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   408
	/ (TokenParser for:#library)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   409
	/ (TokenParser for:#native)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   410
	/ NEGATE
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   411
	/ OPERATOR
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   412
	/ (TokenParser for:#set)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   413
	/ (TokenParser for:#source)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   414
	/ (TokenParser for:#static)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   415
	/ (TokenParser for:#typedef)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   416
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   417
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   418
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   419
importReference
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   420
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   421
	^(((TokenParser for:#identifier) , (':' asParser)) optional) , (TokenParser for:#string)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   422
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   423
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   424
importReferences
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   425
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   426
	^importReference , (((',' asParser) , importReference) star) , ((',' asParser) optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   427
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   428
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   429
initializedIdentifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   430
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   431
	^identifier , ((('=' asParser) , constantExpression) optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   432
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   433
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   434
initializedIdentifierList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   435
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   436
	^initializedIdentifier , (((',' asParser) , initializedIdentifier) star)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   437
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   438
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   439
initializedVariableDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   440
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   441
	^declaredIdentifier , ((('=' asParser) , constantExpression) optional) , (((',' asParser) , initializedIdentifier) star)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   442
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   443
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   444
initializers
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   445
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   446
	^(':' asParser) , superCallOrFieldInitializer , (((',' asParser) , superCallOrFieldInitializer) star)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   447
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   448
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   449
interfaceDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   450
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   451
	^(TokenParser for:#interface) , identifier , (typeParameters optional) , (superinterfaces optional) , (factorySpecification optional) , ('{' asParser) , (interfaceMemberDefinition star) , ('}' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   452
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   453
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   454
interfaceMemberDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   455
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   456
	^ ((TokenParser for:#static) , (TokenParser for:#final) , (type optional) , initializedIdentifierList , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   457
	/ (functionDeclaration , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   458
	/ (constantConstructorDeclaration , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   459
	/ (namedConstructorDeclaration , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   460
	/ (specialSignatureDefinition , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   461
	/ (variableDeclaration , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   462
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   463
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   464
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   465
interfaces
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   466
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   467
	^(TokenParser for:#implements) , typeList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   468
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   469
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   470
isOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   471
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   472
	^(TokenParser for:#is) , (('!!' asParser) optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   473
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   474
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   475
iterationStatement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   476
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   477
	^ ((TokenParser for:#while) , ('(' asParser) , constantExpression , (')' asParser) , statement)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   478
	/ ((TokenParser for:#do) , statement , (TokenParser for:#while) , ('(' asParser) , constantExpression , (')' asParser) , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   479
	/ ((TokenParser for:#for) , ('(' asParser) , forLoopParts , (')' asParser) , statement)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   480
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   481
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   482
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   483
label
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   484
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   485
	^identifier , (':' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   486
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   487
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   488
libraryBody
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   489
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   490
	^(libraryImport optional) , (librarySource optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   491
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   492
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   493
libraryDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   494
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   495
	^(TokenParser for:#library) , ('{' asParser) , libraryBody , ('}' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   496
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   497
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   498
libraryImport
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   499
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   500
	^(TokenParser for:#import) , ('=' asParser) , ('[' asParser) , (importReferences optional) , (']' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   501
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   502
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   503
librarySource
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   504
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   505
	^(TokenParser for:#source) , ('=' asParser) , ('[' asParser) , (sourceUrls optional) , (']' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   506
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   507
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   508
libraryUnit
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   509
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   510
        ^libraryDefinition end
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   511
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   512
    "Modified: / 11-01-2013 / 10:07:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   513
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   514
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   515
listLiteral
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   516
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   517
	^('[' asParser) , ((expressionList , ((',' asParser) optional)) optional) , (']' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   518
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   519
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   520
literal
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   521
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   522
        ^ (TokenParser for: #null)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   523
        / (TokenParser for: #true)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   524
        / (TokenParser for: #false)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   525
        / (TokenParser for: #number)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   526
        / (TokenParser for:#string)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   527
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   528
    "Modified: / 11-01-2013 / 10:08:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   529
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   530
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   531
logicalAndExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   532
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   533
	^bitwiseOrExpression , ((('&&' asParser) , bitwiseOrExpression) star)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   534
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   535
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   536
logicalOrExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   537
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   538
	^logicalAndExpression , ((('||' asParser) , logicalAndExpression) star)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   539
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   540
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   541
mapLiteral
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   542
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   543
	^('{' asParser) , ((mapLiteralEntry , (((',' asParser) , mapLiteralEntry) star) , ((',' asParser) optional)) optional) , ('}' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   544
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   545
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   546
mapLiteralEntry
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   547
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   548
	^(TokenParser for:#string) , (':' asParser) , constantExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   549
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   550
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   551
methodDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   552
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   553
	^ factoryConstructorDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   554
	/ ((TokenParser for:#static) , functionDeclaration)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   555
	/ specialSignatureDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   556
	/ (functionDeclaration , (initializers optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   557
	/ (namedConstructorDeclaration , (initializers optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   558
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   559
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   560
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   561
multiplicativeExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   562
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   563
	^ (unaryExpression , ((multiplicativeOperator , unaryExpression) star))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   564
	/ ((TokenParser for:#super) , ((multiplicativeOperator , unaryExpression) plus))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   565
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   566
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   567
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   568
multiplicativeOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   569
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   570
	^ ('*' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   571
	/ ('/' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   572
	/ ('%' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   573
	/ ('~/' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   574
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   575
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   576
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   577
namedArgument
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   578
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   579
	^label , constantExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   580
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   581
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   582
namedConstructorDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   583
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   584
	^identifier , ('.' asParser) , identifier , formalParameterList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   585
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   586
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   587
namedFormalParameters
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   588
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   589
	^('[' asParser) , defaultFormalParameter , (((',' asParser) , defaultFormalParameter) star) , (']' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   590
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   591
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   592
negateOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   593
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   594
	^ ('!!' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   595
	/ ('~' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   596
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   597
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   598
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   599
nonLabelledStatement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   600
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   601
        ^ block
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   602
        / (initializedVariableDeclaration , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   603
        / iterationStatement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   604
        / selectionStatement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   605
        / tryStatement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   606
        / ((TokenParser for: #break) , (identifier optional) , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   607
        / ((TokenParser for: #continue) , (identifier optional) , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   608
        / ((TokenParser for: #return) , (constantExpression optional) , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   609
        / ((TokenParser for: #throw) , (constantExpression optional) , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   610
        / ((constantExpression optional) , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   611
        / ((TokenParser for: #assert) , ('(' asParser) , conditionalExpression , (')' asParser) , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   612
        / (functionDeclaration , functionBody)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   613
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   614
    "Modified: / 11-01-2013 / 10:09:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   615
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   616
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   617
normalFormalParameter
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   618
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   619
	^ functionDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   620
	/ fieldFormalParameter
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   621
	/ simpleFormalParameter
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   622
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   623
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   624
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   625
normalFormalParameterTail
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   626
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   627
	^ ((',' asParser) , namedFormalParameters)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   628
	/ ((',' asParser) , normalFormalParameter , (normalFormalParameterTail optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   629
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   630
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   631
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   632
postfixExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   633
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   634
	^ (assignableExpression , postfixOperator)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   635
	/ (primary , (selector star))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   636
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   637
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   638
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   639
postfixOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   640
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   641
	^ ('++' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   642
	/ ('--' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   643
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   644
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   645
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   646
prefixOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   647
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   648
	^ additiveOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   649
	/ negateOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   650
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   651
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   652
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   653
primary
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   654
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   655
	^ primaryNoFE
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   656
	/ primaryFE
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   657
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   658
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   659
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   660
primaryFE
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   661
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   662
	^ functionExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   663
	/ primaryNoFE
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   664
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   665
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   666
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   667
primaryNoFE
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   668
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   669
        ^ (TokenParser for:#this)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   670
        / ((TokenParser for:#super) , assignableSelector)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   671
        / literal
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   672
        / identifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   673
        / (((TokenParser for:#const) optional) , (typeArguments optional) , compoundLiteral)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   674
        / (((TokenParser for: #new) / (TokenParser for:#const) ) , type , ((('.' asParser) , identifier) optional) , arguments)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   675
        / expressionInParentheses
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   676
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   677
    "Modified: / 11-01-2013 / 10:09:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   678
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   679
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   680
qualified
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   681
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   682
	^identifier , ((('.' asParser) , identifier) optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   683
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   684
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   685
redirection
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   686
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   687
	^(':' asParser) , (TokenParser for:#this) , ((('.' asParser) , identifier) optional) , arguments
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   688
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   689
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   690
relationalExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   691
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   692
	^ (shiftExpression , (((isOperator , type) / (relationalOperator , shiftExpression) ) optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   693
	/ ((TokenParser for:#super) , relationalOperator , shiftExpression)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   694
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   695
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   696
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   697
relationalOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   698
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   699
	^ (('>' asParser) , ('=' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   700
	/ ('>' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   701
	/ ('<=' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   702
	/ ('<' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   703
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   704
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   705
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   706
returnType
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   707
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   708
        ^ (TokenParser for: #void)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   709
        / type
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   710
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   711
    "Modified: / 11-01-2013 / 10:09:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   712
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   713
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   714
selectionStatement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   715
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   716
        ^ ((TokenParser for: #if) , ('(' asParser) , constantExpression , (')' asParser) , statement , (((TokenParser for: #else) , statement) optional))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   717
        / ((TokenParser for: #switch) , ('(' asParser) , constantExpression , (')' asParser) , ('{' asParser) , (switchCase star) , (defaultCase optional) , ('}' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   718
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   719
    "Modified: / 11-01-2013 / 10:10:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   720
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   721
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   722
selector
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   723
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   724
	^ assignableSelector
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   725
	/ arguments
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   726
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   727
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   728
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   729
shiftExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   730
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   731
	^ (additiveExpression , ((shiftOperator , additiveExpression) star))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   732
	/ ((TokenParser for:#super) , ((shiftOperator , additiveExpression) plus))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   733
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   734
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   735
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   736
shiftOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   737
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   738
	^ ('<<' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   739
	/ (('>' asParser) , ('>' asParser) , ('>' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   740
	/ (('>' asParser) , ('>' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   741
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   742
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   743
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   744
simpleFormalParameter
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   745
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   746
	^ declaredIdentifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   747
	/ identifier
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   748
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   749
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   750
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   751
sourceUrls
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   752
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   753
	^(TokenParser for:#string) , (((',' asParser) , (TokenParser for:#string)) star) , ((',' asParser) optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   754
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   755
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   756
specialSignatureDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   757
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   758
        ^ (((TokenParser for:#static) optional) , (returnType optional) , getOrSet , identifier , formalParameterList)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   759
        / ((returnType optional) , (TokenParser for: #operator) , userDefinableOperator , formalParameterList)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   760
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   761
    "Modified: / 11-01-2013 / 10:10:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   762
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   763
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   764
statement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   765
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   766
	^(label star) , nonLabelledStatement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   767
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   768
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   769
statements
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   770
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   771
	^statement star
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   772
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   773
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   774
staticFinalDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   775
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   776
	^identifier , ('=' asParser) , constantExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   777
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   778
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   779
staticFinalDeclarationList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   780
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   781
	^staticFinalDeclaration , (((',' asParser) , staticFinalDeclaration) star)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   782
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   783
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   784
superCallOrFieldInitializer
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   785
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   786
	^ ((TokenParser for:#super) , arguments)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   787
	/ ((TokenParser for:#super) , ('.' asParser) , identifier , arguments)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   788
	/ fieldInitializer
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   789
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   790
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   791
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   792
superclass
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   793
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   794
        ^(TokenParser for: #extends) , type
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   795
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   796
    "Modified: / 11-01-2013 / 10:10:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   797
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   798
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   799
superinterfaces
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   800
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   801
        ^(TokenParser for: #extends) , typeList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   802
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   803
    "Modified: / 11-01-2013 / 10:10:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   804
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   805
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   806
switchCase
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   807
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   808
	^(label optional) , (((TokenParser for:#case) , constantExpression , (':' asParser)) plus) , statements
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   809
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   810
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   811
topLevelDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   812
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   813
	^ classDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   814
	/ interfaceDefinition
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   815
	/ functionTypeAlias
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   816
	/ (functionDeclaration , functionBodyOrNative)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   817
	/ ((returnType optional) , getOrSet , identifier , formalParameterList , functionBodyOrNative)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   818
	/ ((TokenParser for:#final) , (type optional) , staticFinalDeclarationList , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   819
	/ (constInitializedVariableDeclaration , (';' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   820
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   821
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   822
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   823
tryStatement
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   824
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   825
        ^(TokenParser for: #try) , block , (((catchPart plus) , (finallyPart optional)) / finallyPart )
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   826
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   827
    "Modified: / 11-01-2013 / 10:10:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   828
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   829
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   830
type
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   831
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   832
	^qualified , (typeArguments optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   833
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   834
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   835
typeArguments
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   836
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   837
	^('<' asParser) , typeList , ('>' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   838
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   839
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   840
typeList
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   841
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   842
	^type , (((',' asParser) , type) star)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   843
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   844
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   845
typeParameter
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   846
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   847
        ^identifier , (((TokenParser for: #extends) , type) optional)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   848
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   849
    "Modified: / 11-01-2013 / 10:11:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   850
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   851
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   852
typeParameters
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   853
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   854
	^('<' asParser) , typeParameter , (((',' asParser) , typeParameter) star) , ('>' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   855
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   856
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   857
unaryExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   858
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   859
	^ postfixExpression
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   860
	/ (prefixOperator , unaryExpression)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   861
	/ (negateOperator , (TokenParser for:#super))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   862
	/ (('-' asParser) , (TokenParser for:#super))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   863
	/ (postfixOperator , assignableExpression)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   864
	
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   865
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   866
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   867
userDefinableOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   868
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   869
        ^ multiplicativeOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   870
        / additiveOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   871
        / shiftOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   872
        / relationalOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   873
        / bitwiseOperator
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   874
        / ('==' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   875
        / ('~' asParser)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   876
        / (TokenParser for: #negate)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   877
        / (('[' asParser) , (']' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   878
        / (('[' asParser) , (']' asParser) , ('=' asParser))
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   879
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   880
    "Modified: / 11-01-2013 / 10:11:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   881
!
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   882
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   883
variableDeclaration
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   884
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   885
	^declaredIdentifier , (((',' asParser) , identifier) star)
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   886
! !
8fedb5e096fc Initial grammar definition based on http://slps.github.com/zoo/index.html#Google_Dart.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   887
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   888
!Parser class methodsFor:'initialization'!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   889
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   890
debugging: aBoolean
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   891
    Debugging := aBoolean
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   892
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   893
    "
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   894
        JavaParser debugging: true.
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   895
        JavaParser debugging: false.
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   896
    "
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   897
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   898
    "Created: / 11-01-2013 / 11:32:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   899
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   900
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   901
initialize
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   902
    "Invoked at system start or when the class is dynamically loaded."
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   903
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   904
    "/ please change as required (and remove this comment)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   905
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   906
    Debugging := false.
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   907
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   908
    "Modified: / 11-01-2013 / 11:32:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   909
! !
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   910
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   911
!Parser methodsFor:'accessing'!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   912
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   913
start
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   914
    ^compilationUnit , (TokenParser for: #EOF).
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   915
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   916
    "Created: / 11-01-2013 / 13:19:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   917
! !
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   918
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   919
!Parser methodsFor:'grammar'!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   920
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   921
additiveExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   922
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   923
        ^ (multiplicativeExpression , ((additiveOperator , multiplicativeExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   924
        / ((TokenParser for: #super) , ((additiveOperator , multiplicativeExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   925
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   926
    "Modified: / 11-01-2013 / 09:59:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   927
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   928
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   929
additiveOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   930
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   931
	^ ('+' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   932
	/ ('-' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   933
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   934
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   935
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   936
argumentList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   937
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   938
	^ (namedArgument , (((',' asParser) , namedArgument) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   939
	/ (expressionList , (((',' asParser) , namedArgument) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   940
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   941
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   942
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   943
arguments
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   944
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   945
	^('(' asParser) , (argumentList optional) , (')' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   946
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   947
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   948
assignableExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   949
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   950
        ^ (primary , (((arguments star) , assignableSelector) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   951
        / ((TokenParser for: #super) , assignableSelector)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   952
        / identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   953
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   954
    "Modified: / 11-01-2013 / 10:00:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   955
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   956
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   957
assignableSelector
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   958
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   959
	^ (('[' asParser) , constantExpression , (']' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   960
	/ (('.' asParser) , identifier)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   961
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   962
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   963
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   964
assignmentOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   965
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   966
	^ ('=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   967
	/ ('*=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   968
	/ ('/=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   969
	/ ('~/=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   970
	/ ('%=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   971
	/ ('+=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   972
	/ ('-=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   973
	/ ('<<=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   974
	/ (('>' asParser) , ('>' asParser) , ('>' asParser) , ('=' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   975
	/ (('>' asParser) , ('>' asParser) , ('=' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   976
	/ ('&=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   977
	/ ('^=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   978
	/ ('|=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   979
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   980
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   981
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   982
bitwiseAndExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   983
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   984
        ^ (equalityExpression , ((('&' asParser) , equalityExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   985
        / ((TokenParser for: #super) , ((('&' asParser) , equalityExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   986
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   987
    "Modified: / 11-01-2013 / 10:00:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   988
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   989
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   990
bitwiseOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   991
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   992
	^ ('&' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   993
	/ ('^' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   994
	/ ('|' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   995
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   996
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   997
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   998
bitwiseOrExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   999
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1000
	^ (bitwiseXorExpression , ((('|' asParser) , bitwiseXorExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1001
	/ ((TokenParser for:#super) , ((('|' asParser) , bitwiseXorExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1002
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1003
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1004
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1005
bitwiseXorExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1006
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1007
	^ (bitwiseAndExpression , ((('^' asParser) , bitwiseAndExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1008
	/ ((TokenParser for:#super) , ((('^' asParser) , bitwiseAndExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1009
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1010
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1011
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1012
block
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1013
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1014
	^('{' asParser) , statements , ('}' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1015
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1016
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1017
catchPart
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1018
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1019
	^(TokenParser for:#catch) , ('(' asParser) , declaredIdentifier , (((',' asParser) , declaredIdentifier) optional) , (')' asParser) , block
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1020
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1021
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1022
classDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1023
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1024
	^ ((TokenParser for:#class) , identifier , (typeParameters optional) , (superclass optional) , (interfaces optional) , ('{' asParser) , (classMemberDefinition star) , ('}' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1025
	/ ((TokenParser for:#class) , identifier , (typeParameters optional) , (interfaces optional) , (TokenParser for:#native) , (TokenParser for:#string) , ('{' asParser) , (classMemberDefinition star) , ('}' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1026
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1027
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1028
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1029
classMemberDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1030
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1031
	^ (declaration , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1032
	/ (constructorDeclaration , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1033
	/ (methodDeclaration , functionBodyOrNative)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1034
	/ ((TokenParser for:#const) , factoryConstructorDeclaration , functionNative)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1035
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1036
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1037
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1038
compilationUnit
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1039
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1040
        ^( ((TokenParser for: #'#!!') optional) , (directive star) , (topLevelDefinition star) )
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1041
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1042
    "Modified: / 11-01-2013 / 13:18:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1043
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1044
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1045
compoundLiteral
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1046
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1047
	^ listLiteral
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1048
	/ mapLiteral
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1049
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1050
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1051
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1052
conditionalExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1053
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1054
	^logicalOrExpression , ((('?' asParser) , constantExpression , (':' asParser) , constantExpression) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1055
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1056
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1057
constInitializedIdentifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1058
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1059
	^identifier , ((('=' asParser) , constantExpression) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1060
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1061
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1062
constInitializedVariableDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1063
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1064
	^declaredIdentifier , ((('=' asParser) , constantExpression) optional) , (((',' asParser) , constInitializedIdentifier) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1065
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1066
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1067
constantConstructorDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1068
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1069
	^(TokenParser for:#const) , qualified , formalParameterList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1070
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1071
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1072
constantExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1073
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1074
	^ (assignableExpression , assignmentOperator , constantExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1075
	/ conditionalExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1076
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1077
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1078
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1079
constructorDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1080
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1081
	^ (identifier , formalParameterList , ((redirection / initializers ) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1082
	/ (namedConstructorDeclaration , ((redirection / initializers ) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1083
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1084
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1085
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1086
declaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1087
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1088
	^ (constantConstructorDeclaration , ((redirection / initializers ) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1089
	/ (functionDeclaration , redirection)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1090
	/ (namedConstructorDeclaration , redirection)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1091
	/ ((TokenParser for:#abstract) , specialSignatureDefinition)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1092
	/ ((TokenParser for:#abstract) , functionDeclaration)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1093
	/ ((TokenParser for:#static) , (TokenParser for:#final) , (type optional) , staticFinalDeclarationList)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1094
	/ (((TokenParser for:#static) optional) , constInitializedVariableDeclaration)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1095
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1096
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1097
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1098
declaredIdentifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1099
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1100
	^ ((TokenParser for:#final) , (type optional) , identifier)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1101
	/ ((TokenParser for:#var) , identifier)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1102
	/ (type , identifier)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1103
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1104
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1105
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1106
defaultCase
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1107
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1108
	^(label optional) , (((TokenParser for:#case) , constantExpression , (':' asParser)) star) , (TokenParser for:#default) , (':' asParser) , statements
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1109
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1110
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1111
defaultFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1112
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1113
	^normalFormalParameter , ((('=' asParser) , constantExpression) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1114
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1115
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1116
directive
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1117
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1118
	^('#' asParser) , identifier , arguments , (';' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1119
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1120
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1121
equalityExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1122
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1123
	^ (relationalExpression , ((equalityOperator , relationalExpression) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1124
	/ ((TokenParser for:#super) , equalityOperator , relationalExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1125
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1126
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1127
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1128
equalityOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1129
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1130
	^ ('==' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1131
	/ ('!!=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1132
	/ ('===' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1133
	/ ('!!==' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1134
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1135
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1136
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1137
expression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1138
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1139
        ^ (assignableExpression , assignmentOperator , expression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1140
        / conditionalExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1141
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1142
    "Created: / 11-01-2013 / 13:22:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1143
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1144
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1145
expressionInParentheses
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1146
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1147
	^('(' asParser) , constantExpression , (')' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1148
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1149
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1150
expressionList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1151
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1152
	^constantExpression , (((',' asParser) , constantExpression) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1153
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1154
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1155
factoryConstructorDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1156
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1157
	^(TokenParser for:#factory) , qualified , (typeParameters optional) , ((('.' asParser) , identifier) optional) , formalParameterList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1158
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1159
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1160
factorySpecification
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1161
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1162
	^(TokenParser for:#factory) , type
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1163
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1164
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1165
fieldFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1166
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1167
	^(finalVarOrType optional) , (TokenParser for:#this) , ('.' asParser) , identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1168
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1169
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1170
fieldInitializer
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1171
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1172
	^(((TokenParser for:#this) , ('.' asParser)) optional) , identifier , ('=' asParser) , conditionalExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1173
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1174
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1175
finalVarOrType
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1176
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1177
	^ ((TokenParser for:#final) , (type optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1178
	/ (TokenParser for:#var)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1179
	/ type
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1180
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1181
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1182
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1183
finallyPart
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1184
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1185
	^(TokenParser for:#finally) , block
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1186
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1187
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1188
forInitializerStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1189
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1190
	^ (initializedVariableDeclaration , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1191
	/ ((constantExpression optional) , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1192
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1193
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1194
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1195
forLoopParts
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1196
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1197
	^ (forInitializerStatement , (constantExpression optional) , (';' asParser) , (expressionList optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1198
	/ (declaredIdentifier , (TokenParser for:#in) , constantExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1199
	/ (identifier , (TokenParser for:#in) , constantExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1200
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1201
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1202
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1203
formalParameterList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1204
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1205
	^ (('(' asParser) , (namedFormalParameters optional) , (')' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1206
	/ (('(' asParser) , normalFormalParameter , (normalFormalParameterTail optional) , (')' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1207
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1208
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1209
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1210
functionBody
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1211
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1212
	^ (('=>' asParser) , constantExpression , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1213
	/ block
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1214
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1215
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1216
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1217
functionBodyOrNative
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1218
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1219
	^ ((TokenParser for:#native) , functionBody)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1220
	/ functionNative
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1221
	/ functionBody
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1222
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1223
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1224
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1225
functionDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1226
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1227
	^(returnType optional) , identifier , formalParameterList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1228
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1229
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1230
functionExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1231
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1232
	^(((returnType optional) , identifier) optional) , formalParameterList , functionExpressionBody
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1233
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1234
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1235
functionExpressionBody
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1236
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1237
	^ (('=>' asParser) , constantExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1238
	/ block
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1239
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1240
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1241
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1242
functionNative
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1243
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1244
	^(TokenParser for:#native) , ((TokenParser for:#string) optional) , (';' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1245
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1246
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1247
functionPrefix
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1248
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1249
	^(returnType optional) , identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1250
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1251
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1252
functionTypeAlias
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1253
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1254
	^(TokenParser for:#typedef) , functionPrefix , (typeParameters optional) , formalParameterList , (';' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1255
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1256
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1257
getOrSet
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1258
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1259
	^ (TokenParser for:#get)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1260
	/ (TokenParser for:#set)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1261
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1262
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1263
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1264
identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1265
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1266
        ^ (TokenParser for:#identifier_no_dollar)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1267
        / (TokenParser for:#identifier)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1268
        / (TokenParser for:#abstract)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1269
        / (TokenParser for:#assert)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1270
        / (TokenParser for:#class)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1271
        / (TokenParser for:#extends)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1272
        / (TokenParser for:#factory)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1273
        / (TokenParser for:#get)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1274
        / (TokenParser for:#implements)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1275
        / (TokenParser for:#import)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1276
        / (TokenParser for:#interface)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1277
        / (TokenParser for:#is)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1278
        / (TokenParser for:#library)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1279
        / (TokenParser for:#native)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1280
        / (TokenParser for:#negate)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1281
        / (TokenParser for:#operator)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1282
        / (TokenParser for:#set)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1283
        / (TokenParser for:#source)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1284
        / (TokenParser for:#static)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1285
        / (TokenParser for:#typedef)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1286
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1287
    "Modified: / 11-01-2013 / 13:25:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1288
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1289
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1290
importReference
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1291
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1292
	^(((TokenParser for:#identifier) , (':' asParser)) optional) , (TokenParser for:#string)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1293
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1294
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1295
importReferences
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1296
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1297
	^importReference , (((',' asParser) , importReference) star) , ((',' asParser) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1298
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1299
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1300
incrementOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1301
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1302
        ^ ('++' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1303
        / ('--' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1304
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1305
    "Created: / 11-01-2013 / 13:27:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1306
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1307
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1308
initializedIdentifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1309
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1310
	^identifier , ((('=' asParser) , constantExpression) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1311
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1312
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1313
initializedIdentifierList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1314
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1315
	^initializedIdentifier , (((',' asParser) , initializedIdentifier) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1316
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1317
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1318
initializedVariableDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1319
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1320
	^declaredIdentifier , ((('=' asParser) , constantExpression) optional) , (((',' asParser) , initializedIdentifier) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1321
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1322
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1323
initializers
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1324
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1325
	^(':' asParser) , superCallOrFieldInitializer , (((',' asParser) , superCallOrFieldInitializer) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1326
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1327
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1328
interfaceDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1329
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1330
	^(TokenParser for:#interface) , identifier , (typeParameters optional) , (superinterfaces optional) , (factorySpecification optional) , ('{' asParser) , (interfaceMemberDefinition star) , ('}' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1331
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1332
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1333
interfaceMemberDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1334
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1335
	^ ((TokenParser for:#static) , (TokenParser for:#final) , (type optional) , initializedIdentifierList , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1336
	/ (functionDeclaration , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1337
	/ (constantConstructorDeclaration , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1338
	/ (namedConstructorDeclaration , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1339
	/ (specialSignatureDefinition , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1340
	/ (variableDeclaration , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1341
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1342
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1343
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1344
interfaces
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1345
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1346
	^(TokenParser for:#implements) , typeList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1347
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1348
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1349
isOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1350
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1351
	^(TokenParser for:#is) , (('!!' asParser) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1352
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1353
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1354
iterationStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1355
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1356
	^ ((TokenParser for:#while) , ('(' asParser) , constantExpression , (')' asParser) , statement)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1357
	/ ((TokenParser for:#do) , statement , (TokenParser for:#while) , ('(' asParser) , constantExpression , (')' asParser) , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1358
	/ ((TokenParser for:#for) , ('(' asParser) , forLoopParts , (')' asParser) , statement)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1359
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1360
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1361
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1362
label
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1363
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1364
	^identifier , (':' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1365
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1366
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1367
libraryBody
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1368
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1369
	^(libraryImport optional) , (librarySource optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1370
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1371
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1372
libraryDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1373
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1374
	^(TokenParser for:#library) , ('{' asParser) , libraryBody , ('}' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1375
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1376
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1377
libraryImport
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1378
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1379
	^(TokenParser for:#import) , ('=' asParser) , ('[' asParser) , (importReferences optional) , (']' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1380
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1381
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1382
librarySource
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1383
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1384
	^(TokenParser for:#source) , ('=' asParser) , ('[' asParser) , (sourceUrls optional) , (']' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1385
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1386
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1387
libraryUnit
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1388
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1389
        ^libraryDefinition end
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1390
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1391
    "Modified: / 11-01-2013 / 10:07:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1392
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1393
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1394
listLiteral
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1395
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1396
	^('[' asParser) , ((expressionList , ((',' asParser) optional)) optional) , (']' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1397
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1398
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1399
literal
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1400
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1401
        ^ (TokenParser for: #null)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1402
        / (TokenParser for: #true)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1403
        / (TokenParser for: #false)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1404
        / (TokenParser for: #number)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1405
        / (TokenParser for:#string)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1406
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1407
    "Modified: / 11-01-2013 / 10:08:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1408
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1409
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1410
logicalAndExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1411
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1412
	^bitwiseOrExpression , ((('&&' asParser) , bitwiseOrExpression) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1413
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1414
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1415
logicalOrExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1416
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1417
	^logicalAndExpression , ((('||' asParser) , logicalAndExpression) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1418
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1419
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1420
mapLiteral
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1421
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1422
	^('{' asParser) , ((mapLiteralEntry , (((',' asParser) , mapLiteralEntry) star) , ((',' asParser) optional)) optional) , ('}' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1423
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1424
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1425
mapLiteralEntry
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1426
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1427
	^(TokenParser for:#string) , (':' asParser) , constantExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1428
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1429
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1430
methodDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1431
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1432
	^ factoryConstructorDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1433
	/ ((TokenParser for:#static) , functionDeclaration)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1434
	/ specialSignatureDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1435
	/ (functionDeclaration , (initializers optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1436
	/ (namedConstructorDeclaration , (initializers optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1437
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1438
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1439
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1440
multiplicativeExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1441
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1442
	^ (unaryExpression , ((multiplicativeOperator , unaryExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1443
	/ ((TokenParser for:#super) , ((multiplicativeOperator , unaryExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1444
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1445
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1446
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1447
multiplicativeOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1448
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1449
	^ ('*' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1450
	/ ('/' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1451
	/ ('%' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1452
	/ ('~/' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1453
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1454
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1455
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1456
namedArgument
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1457
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1458
	^label , constantExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1459
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1460
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1461
namedConstructorDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1462
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1463
	^identifier , ('.' asParser) , identifier , formalParameterList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1464
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1465
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1466
namedFormalParameters
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1467
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1468
	^('[' asParser) , defaultFormalParameter , (((',' asParser) , defaultFormalParameter) star) , (']' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1469
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1470
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1471
negateOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1472
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1473
	^ ('!!' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1474
	/ ('~' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1475
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1476
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1477
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1478
nonLabelledStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1479
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1480
        ^ block
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1481
        / (initializedVariableDeclaration , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1482
        / iterationStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1483
        / selectionStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1484
        / tryStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1485
        / ((TokenParser for: #break) , (identifier optional) , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1486
        / ((TokenParser for: #continue) , (identifier optional) , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1487
        / ((TokenParser for: #return) , (constantExpression optional) , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1488
        / ((TokenParser for: #throw) , (constantExpression optional) , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1489
        / ((constantExpression optional) , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1490
        / ((TokenParser for: #assert) , ('(' asParser) , conditionalExpression , (')' asParser) , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1491
        / (functionDeclaration , functionBody)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1492
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1493
    "Modified: / 11-01-2013 / 10:09:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1494
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1495
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1496
normalFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1497
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1498
	^ functionDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1499
	/ fieldFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1500
	/ simpleFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1501
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1502
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1503
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1504
normalFormalParameterTail
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1505
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1506
	^ ((',' asParser) , namedFormalParameters)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1507
	/ ((',' asParser) , normalFormalParameter , (normalFormalParameterTail optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1508
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1509
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1510
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1511
postfixExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1512
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1513
	^ (assignableExpression , postfixOperator)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1514
	/ (primary , (selector star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1515
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1516
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1517
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1518
postfixOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1519
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1520
	^ ('++' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1521
	/ ('--' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1522
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1523
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1524
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1525
prefixOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1526
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1527
	^ additiveOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1528
	/ negateOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1529
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1530
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1531
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1532
primary
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1533
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1534
	^ primaryNoFE
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1535
	/ primaryFE
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1536
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1537
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1538
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1539
primaryFE
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1540
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1541
	^ functionExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1542
	/ primaryNoFE
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1543
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1544
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1545
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1546
primaryNoFE
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1547
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1548
        ^ (TokenParser for:#this)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1549
        / ((TokenParser for:#super) , assignableSelector)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1550
        / literal
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1551
        / identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1552
        / (((TokenParser for:#const) optional) , (typeArguments optional) , compoundLiteral)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1553
        / (((TokenParser for: #new) / (TokenParser for:#const) ) , type , ((('.' asParser) , identifier) optional) , arguments)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1554
        / expressionInParentheses
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1555
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1556
    "Modified: / 11-01-2013 / 10:09:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1557
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1558
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1559
qualified
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1560
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1561
	^identifier , ((('.' asParser) , identifier) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1562
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1563
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1564
redirection
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1565
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1566
	^(':' asParser) , (TokenParser for:#this) , ((('.' asParser) , identifier) optional) , arguments
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1567
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1568
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1569
relationalExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1570
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1571
	^ (shiftExpression , (((isOperator , type) / (relationalOperator , shiftExpression) ) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1572
	/ ((TokenParser for:#super) , relationalOperator , shiftExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1573
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1574
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1575
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1576
relationalOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1577
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1578
	^ (('>' asParser) , ('=' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1579
	/ ('>' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1580
	/ ('<=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1581
	/ ('<' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1582
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1583
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1584
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1585
returnType
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1586
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1587
        ^ (TokenParser for: #void)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1588
        / type
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1589
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1590
    "Modified: / 11-01-2013 / 10:09:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1591
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1592
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1593
selectionStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1594
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1595
        ^ ((TokenParser for: #if) , ('(' asParser) , constantExpression , (')' asParser) , statement , (((TokenParser for: #else) , statement) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1596
        / ((TokenParser for: #switch) , ('(' asParser) , constantExpression , (')' asParser) , ('{' asParser) , (switchCase star) , (defaultCase optional) , ('}' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1597
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1598
    "Modified: / 11-01-2013 / 10:10:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1599
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1600
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1601
selector
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1602
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1603
	^ assignableSelector
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1604
	/ arguments
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1605
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1606
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1607
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1608
shiftExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1609
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1610
	^ (additiveExpression , ((shiftOperator , additiveExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1611
	/ ((TokenParser for:#super) , ((shiftOperator , additiveExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1612
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1613
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1614
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1615
shiftOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1616
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1617
	^ ('<<' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1618
	/ (('>' asParser) , ('>' asParser) , ('>' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1619
	/ (('>' asParser) , ('>' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1620
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1621
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1622
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1623
simpleFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1624
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1625
	^ declaredIdentifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1626
	/ identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1627
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1628
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1629
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1630
sourceUrls
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1631
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1632
	^(TokenParser for:#string) , (((',' asParser) , (TokenParser for:#string)) star) , ((',' asParser) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1633
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1634
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1635
specialSignatureDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1636
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1637
        ^ (((TokenParser for:#static) optional) , (returnType optional) , getOrSet , identifier , formalParameterList)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1638
        / ((returnType optional) , (TokenParser for: #operator) , userDefinableOperator , formalParameterList)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1639
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1640
    "Modified: / 11-01-2013 / 10:10:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1641
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1642
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1643
statement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1644
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1645
	^(label star) , nonLabelledStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1646
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1647
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1648
statements
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1649
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1650
	^statement star
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1651
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1652
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1653
staticFinalDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1654
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1655
	^identifier , ('=' asParser) , constantExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1656
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1657
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1658
staticFinalDeclarationList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1659
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1660
	^staticFinalDeclaration , (((',' asParser) , staticFinalDeclaration) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1661
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1662
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1663
superCallOrFieldInitializer
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1664
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1665
	^ ((TokenParser for:#super) , arguments)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1666
	/ ((TokenParser for:#super) , ('.' asParser) , identifier , arguments)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1667
	/ fieldInitializer
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1668
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1669
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1670
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1671
superclass
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1672
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1673
        ^(TokenParser for: #extends) , type
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1674
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1675
    "Modified: / 11-01-2013 / 10:10:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1676
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1677
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1678
superinterfaces
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1679
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1680
        ^(TokenParser for: #extends) , typeList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1681
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1682
    "Modified: / 11-01-2013 / 10:10:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1683
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1684
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1685
switchCase
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1686
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1687
	^(label optional) , (((TokenParser for:#case) , constantExpression , (':' asParser)) plus) , statements
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1688
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1689
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1690
topLevelDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1691
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1692
	^ classDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1693
	/ interfaceDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1694
	/ functionTypeAlias
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1695
	/ (functionDeclaration , functionBodyOrNative)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1696
	/ ((returnType optional) , getOrSet , identifier , formalParameterList , functionBodyOrNative)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1697
	/ ((TokenParser for:#final) , (type optional) , staticFinalDeclarationList , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1698
	/ (constInitializedVariableDeclaration , (';' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1699
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1700
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1701
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1702
tryStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1703
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1704
        ^(TokenParser for: #try) , block , (((catchPart plus) , (finallyPart optional)) / finallyPart )
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1705
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1706
    "Modified: / 11-01-2013 / 10:10:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1707
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1708
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1709
type
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1710
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1711
	^qualified , (typeArguments optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1712
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1713
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1714
typeArguments
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1715
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1716
	^('<' asParser) , typeList , ('>' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1717
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1718
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1719
typeList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1720
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1721
	^type , (((',' asParser) , type) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1722
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1723
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1724
typeParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1725
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1726
        ^identifier , (((TokenParser for: #extends) , type) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1727
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1728
    "Modified: / 11-01-2013 / 10:11:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1729
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1730
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1731
typeParameters
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1732
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1733
	^('<' asParser) , typeParameter , (((',' asParser) , typeParameter) star) , ('>' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1734
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1735
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1736
unaryExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1737
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1738
	^ postfixExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1739
	/ (prefixOperator , unaryExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1740
	/ (negateOperator , (TokenParser for:#super))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1741
	/ (('-' asParser) , (TokenParser for:#super))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1742
	/ (postfixOperator , assignableExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1743
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1744
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1745
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1746
userDefinableOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1747
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1748
        ^ multiplicativeOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1749
        / additiveOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1750
        / shiftOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1751
        / relationalOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1752
        / bitwiseOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1753
        / ('==' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1754
        / ('~' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1755
        / (TokenParser for: #negate)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1756
        / (('[' asParser) , (']' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1757
        / (('[' asParser) , (']' asParser) , ('=' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1758
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1759
    "Modified: / 11-01-2013 / 10:11:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1760
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1761
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1762
variableDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1763
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1764
	^declaredIdentifier , (((',' asParser) , identifier) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1765
! !
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1766
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1767
!Parser methodsFor:'initialization'!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1768
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1769
initializeStartingAt: aSymbol
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1770
        | allVariableNames ignoredVariableNames productionIndexesAndNames debugger |
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1771
        self initialize.        
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1772
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1773
        Debugging ifTrue:[
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1774
            PPDebugger notNil ifTrue:[
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1775
                self assert: (Smalltalk loadPackage: 'stx:goodies/petitparser/devtools').
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1776
                debugger := PPDebugger new
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1777
            ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1778
        ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1779
        "find all the productions that need to be initialized"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1780
        allVariableNames := self class allInstVarNames
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1781
                collect: [ :each | each asSymbol ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1782
        ignoredVariableNames := self class ignoredNames
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1783
                collect: [ :each | each asSymbol ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1784
        productionIndexesAndNames := ((1 to: self class instSize)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1785
                collect: [ :index | index -> (allVariableNames at: index) ])
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1786
                reject: [ :assoc | ignoredVariableNames includes: assoc value ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1787
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1788
        "initialize productions with an undefined parser to be replaced later"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1789
        parser := PPUnresolvedParser named: aSymbol.
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1790
        productionIndexesAndNames do: [ :assoc |
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1791
                self instVarAt: assoc key put: (PPUnresolvedParser named: assoc value) ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1792
        parser def: (self perform: aSymbol).
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1793
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1794
        "resolve unresolved parsers with their actual implementation"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1795
        productionIndexesAndNames do: [ :assoc |
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1796
                (self respondsTo: assoc value)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1797
                        ifFalse: [ self error: 'Unable to initialize ' , assoc value printString ]
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1798
                        ifTrue: [ 
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1799
                            | production |
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1800
                            production := ((self perform: assoc value)  name: assoc value; yourself).
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1801
                            Debugging ifTrue:[
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1802
                                production := PPDebuggingParser parser: production  debugger: debugger
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1803
                            ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1804
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1805
                            (self instVarAt: assoc key) def: production.
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1806
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1807
                                ] ]
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1808
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1809
    "Created: / 12-03-2012 / 16:51:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1810
    "Modified: / 11-01-2013 / 11:35:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1811
! !
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1812
1
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1813
!Parser::TokenParser class methodsFor:'instance creation'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1814
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1815
for: tokenType
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1816
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1817
    ^self new tokenType: tokenType
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1818
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1819
    "Created: / 14-03-2012 / 23:10:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1820
! !
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1821
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1822
!Parser::TokenParser methodsFor:'accessing'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1823
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1824
tokenType
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1825
    ^ tokenType
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1826
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1827
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1828
tokenType:aSymbol
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1829
    tokenType := aSymbol.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1830
! !
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1831
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1832
!Parser::TokenParser methodsFor:'parsing'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1833
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1834
parseOn:aJavaScanner
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1835
    "Parse aStream with the receiving parser and answer the parse-result or an instance of PPFailure. 
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1836
    Override this method in subclasses to specify custom parse behavior. Do not call this method from outside, 
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1837
    instead use #parse:."
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1838
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1839
    | pos |
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1840
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1841
    pos := aJavaScanner position.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1842
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1843
    ^(aJavaScanner nextToken = tokenType) ifTrue:[
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1844
        aJavaScanner token
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1845
    ] ifFalse:[
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1846
        aJavaScanner position: pos.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1847
        PPFailure message: (tokenType printString , ' token expected (got ', aJavaScanner tokenType , ' {',(aJavaScanner tokenValue ? '<nil>') printString,'})') at: aJavaScanner position
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1848
    ]
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1849
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1850
    "Modified: / 17-03-2012 / 13:34:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1851
! !
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1852
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1853
!Parser class methodsFor:'documentation'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1854
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1855
version_HG
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1856
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1857
    ^ '$Changeset: <not expanded> $'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1858
! !
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1859
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1860
Parser initialize!