compiler/Dart__Parser.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 11 Jan 2013 15:53:03 +0000
changeset 6 06efdfe62106
parent 4 5ef74750c3bc
child 10 5df5a2f8e4b5
permissions -rw-r--r--
More tests and fixes for Dart 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
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    57
!Parser class methodsFor:'initialization'!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    58
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    59
debugging: aBoolean
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    60
    Debugging := aBoolean
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    61
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    62
    "
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    63
        JavaParser debugging: true.
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    64
        JavaParser debugging: false.
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    65
    "
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    66
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    67
    "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
    68
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    69
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    70
initialize
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    71
    "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
    72
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    73
    "/ please change as required (and remove this comment)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    74
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    75
    Debugging := false.
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    76
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    77
    "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
    78
! !
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    79
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    80
!Parser methodsFor:'accessing'!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    81
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    82
start
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    83
    ^compilationUnit , (TokenParser for: #EOF).
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    84
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    85
    "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
    86
! !
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    87
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    88
!Parser methodsFor:'grammar'!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    89
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    90
additiveExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    91
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    92
        ^ (multiplicativeExpression , ((additiveOperator , multiplicativeExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    93
        / ((TokenParser for: #super) , ((additiveOperator , multiplicativeExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    94
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    95
    "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
    96
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    97
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    98
additiveOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    99
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   100
	^ ('+' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   101
	/ ('-' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   102
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   103
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   104
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   105
argumentList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   106
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   107
	^ (namedArgument , (((',' asParser) , namedArgument) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   108
	/ (expressionList , (((',' asParser) , namedArgument) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   109
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   110
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   111
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   112
arguments
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   113
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   114
	^(TokenParser for:$() , (argumentList optional) , (TokenParser for:$))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   115
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   116
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   117
assignableExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   118
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   119
        ^ (primary , (((arguments star) , assignableSelector) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   120
        / ((TokenParser for: #super) , assignableSelector)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   121
        / identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   122
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   123
    "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
   124
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   125
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   126
assignableSelector
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   127
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   128
	^ (('[' asParser) , constantExpression , (']' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   129
	/ (('.' asParser) , identifier)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   130
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   131
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   132
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   133
assignmentOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   134
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   135
        ^ (TokenParser for: $=)
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   136
        / (TokenParser for: #'*=' )
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   137
        / (TokenParser for: #'/=' )
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   138
        / (TokenParser for: #'~/=' )
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   139
        / (TokenParser for: #'%=' )
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   140
        / (TokenParser for: #'+=' )
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   141
        / (TokenParser for: #'-=' )
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   142
        / (TokenParser for: #'<<=' )
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   143
        / (('>' asParser) , ('>' asParser) , ('>' asParser) , ('=' asParser))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   144
        / (('>' asParser) , ('>' asParser) , ('=' asParser))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   145
        / (TokenParser for: #'&=' )
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   146
        / (TokenParser for: #'^=' )
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   147
        / (TokenParser for: #'|=' )
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   148
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   149
    "Modified: / 11-01-2013 / 15:51:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   150
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   151
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   152
bitwiseAndExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   153
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   154
        ^ (equalityExpression , ((('&' asParser) , equalityExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   155
        / ((TokenParser for: #super) , ((('&' asParser) , equalityExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   156
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   157
    "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
   158
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   159
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   160
bitwiseOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   161
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   162
	^ ('&' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   163
	/ ('^' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   164
	/ ('|' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   165
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   166
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   167
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   168
bitwiseOrExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   169
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   170
	^ (bitwiseXorExpression , ((('|' asParser) , bitwiseXorExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   171
	/ ((TokenParser for:#super) , ((('|' asParser) , bitwiseXorExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   172
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   173
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   174
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   175
bitwiseXorExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   176
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   177
	^ (bitwiseAndExpression , ((('^' asParser) , bitwiseAndExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   178
	/ ((TokenParser for:#super) , ((('^' asParser) , bitwiseAndExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   179
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   180
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   181
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   182
block
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   183
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   184
        ^(TokenParser for:${) , statements , (TokenParser for:$})
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   185
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   186
    "Modified: / 11-01-2013 / 15:06:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   187
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   188
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   189
catchPart
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   190
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   191
	^(TokenParser for:#catch) , (TokenParser for:$() , declaredIdentifier , (((',' asParser) , declaredIdentifier) optional) , (TokenParser for:$)) , block
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   192
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   193
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   194
classDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   195
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   196
	^ ((TokenParser for:#class) , identifier , (typeParameters optional) , (superclass optional) , (interfaces optional) , (TokenParser for:${) , (classMemberDefinition star) , (TokenParser for:$}))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   197
	/ ((TokenParser for:#class) , identifier , (typeParameters optional) , (interfaces optional) , (TokenParser for:#native) , (TokenParser for:#string) , (TokenParser for:${) , (classMemberDefinition star) , (TokenParser for:$}))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   198
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   199
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   200
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   201
classMemberDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   202
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   203
	^ (declaration , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   204
	/ (constructorDeclaration , (TokenParser for:$;))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   205
	/ (methodDeclaration , functionBodyOrNative)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   206
	/ ((TokenParser for:#const) , factoryConstructorDeclaration , functionNative)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   207
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   208
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   209
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   210
compilationUnit
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   211
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   212
        ^( ((TokenParser for: #'#!!') optional) , (directive star) , (topLevelDefinition star) )
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   213
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   214
    "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
   215
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   216
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   217
compoundLiteral
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   218
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   219
	^ listLiteral
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   220
	/ mapLiteral
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   221
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   222
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   223
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   224
conditionalExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   225
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   226
	^logicalOrExpression , ((('?' asParser) , constantExpression , (':' asParser) , constantExpression) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   227
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   228
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   229
constInitializedIdentifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   230
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   231
	^identifier , ((('=' asParser) , constantExpression) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   232
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   233
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   234
constInitializedVariableDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   235
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   236
	^declaredIdentifier , ((('=' asParser) , constantExpression) optional) , (((',' asParser) , constInitializedIdentifier) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   237
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   238
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   239
constantConstructorDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   240
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   241
	^(TokenParser for:#const) , qualified , formalParameterList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   242
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   243
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   244
constantExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   245
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   246
	^ (assignableExpression , assignmentOperator , constantExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   247
	/ conditionalExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   248
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   249
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   250
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   251
constructorDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   252
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   253
	^ (identifier , formalParameterList , ((redirection / initializers ) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   254
	/ (namedConstructorDeclaration , ((redirection / initializers ) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   255
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   256
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   257
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   258
declaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   259
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   260
	^ (constantConstructorDeclaration , ((redirection / initializers ) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   261
	/ (functionDeclaration , redirection)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   262
	/ (namedConstructorDeclaration , redirection)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   263
	/ ((TokenParser for:#abstract) , specialSignatureDefinition)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   264
	/ ((TokenParser for:#abstract) , functionDeclaration)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   265
	/ ((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
   266
	/ (((TokenParser for:#static) optional) , constInitializedVariableDeclaration)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   267
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   268
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   269
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   270
declaredIdentifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   271
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   272
	^ ((TokenParser for:#final) , (type optional) , identifier)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   273
	/ ((TokenParser for:#var) , identifier)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   274
	/ (type , identifier)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   275
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   276
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   277
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   278
defaultCase
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   279
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   280
	^(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
   281
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   282
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   283
defaultFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   284
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   285
	^normalFormalParameter , ((('=' asParser) , constantExpression) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   286
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   287
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   288
directive
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   289
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   290
	^('#' asParser) , identifier , arguments , (TokenParser for:$;)
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   291
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   292
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   293
equalityExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   294
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   295
	^ (relationalExpression , ((equalityOperator , relationalExpression) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   296
	/ ((TokenParser for:#super) , equalityOperator , relationalExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   297
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   298
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   299
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   300
equalityOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   301
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   302
	^ ('==' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   303
	/ ('!!=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   304
	/ ('===' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   305
	/ ('!!==' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   306
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   307
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   308
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   309
expression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   310
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   311
        ^ (assignableExpression , assignmentOperator , expression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   312
        / conditionalExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   313
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   314
    "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
   315
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   316
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   317
expressionInParentheses
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   318
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   319
	^(TokenParser for:$() , constantExpression , (TokenParser for:$))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   320
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   321
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   322
expressionList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   323
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   324
	^constantExpression , (((',' asParser) , constantExpression) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   325
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   326
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   327
factoryConstructorDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   328
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   329
	^(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
   330
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   331
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   332
factorySpecification
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   333
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   334
	^(TokenParser for:#factory) , type
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   335
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   336
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   337
fieldFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   338
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   339
	^(finalVarOrType optional) , (TokenParser for:#this) , ('.' asParser) , identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   340
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   341
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   342
fieldInitializer
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   343
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   344
	^(((TokenParser for:#this) , ('.' asParser)) optional) , identifier , ('=' asParser) , conditionalExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   345
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   346
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   347
finalVarOrType
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   348
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   349
	^ ((TokenParser for:#final) , (type optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   350
	/ (TokenParser for:#var)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   351
	/ type
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   352
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   353
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   354
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   355
finallyPart
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   356
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   357
	^(TokenParser for:#finally) , block
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   358
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   359
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   360
forInitializerStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   361
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   362
	^ (initializedVariableDeclaration , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   363
	/ ((constantExpression optional) , (TokenParser for:$;))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   364
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   365
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   366
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   367
forLoopParts
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   368
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   369
	^ (forInitializerStatement , (constantExpression optional) , (TokenParser for:$;) , (expressionList optional))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   370
	/ (declaredIdentifier , (TokenParser for:#in) , constantExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   371
	/ (identifier , (TokenParser for:#in) , constantExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   372
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   373
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   374
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   375
formalParameterList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   376
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   377
	^ ((TokenParser for:$() , (namedFormalParameters optional) , (TokenParser for:$)))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   378
	/ ((TokenParser for:$() , normalFormalParameter , (normalFormalParameterTail optional) , (TokenParser for:$)))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   379
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   380
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   381
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   382
functionBody
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   383
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   384
	^ (('=>' asParser) , constantExpression , (TokenParser for:$;))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   385
	/ block
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   386
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   387
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   388
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   389
functionBodyOrNative
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   390
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   391
	^ ((TokenParser for:#native) , functionBody)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   392
	/ functionNative
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   393
	/ functionBody
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   394
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   395
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   396
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   397
functionDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   398
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   399
	^(returnType optional) , identifier , formalParameterList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   400
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   401
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   402
functionExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   403
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   404
	^(((returnType optional) , identifier) optional) , formalParameterList , functionExpressionBody
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   405
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   406
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   407
functionExpressionBody
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   408
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   409
	^ (('=>' asParser) , constantExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   410
	/ block
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   411
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   412
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   413
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   414
functionNative
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   415
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   416
	^(TokenParser for:#native) , ((TokenParser for:#string) optional) , (TokenParser for:$;)
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   417
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   418
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   419
functionPrefix
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   420
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   421
	^(returnType optional) , identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   422
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   423
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   424
functionTypeAlias
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   425
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   426
	^(TokenParser for:#typedef) , functionPrefix , (typeParameters optional) , formalParameterList , (TokenParser for:$;)
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   427
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   428
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   429
getOrSet
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   430
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   431
	^ (TokenParser for:#get)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   432
	/ (TokenParser for:#set)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   433
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   434
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   435
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   436
identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   437
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   438
        ^ (TokenParser for:#identifier_no_dollar)
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   439
        / (TokenParser for:#Identifier)
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   440
        / (TokenParser for:#abstract)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   441
        / (TokenParser for:#assert)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   442
        / (TokenParser for:#class)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   443
        / (TokenParser for:#extends)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   444
        / (TokenParser for:#factory)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   445
        / (TokenParser for:#get)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   446
        / (TokenParser for:#implements)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   447
        / (TokenParser for:#import)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   448
        / (TokenParser for:#interface)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   449
        / (TokenParser for:#is)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   450
        / (TokenParser for:#library)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   451
        / (TokenParser for:#native)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   452
        / (TokenParser for:#negate)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   453
        / (TokenParser for:#operator)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   454
        / (TokenParser for:#set)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   455
        / (TokenParser for:#source)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   456
        / (TokenParser for:#static)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   457
        / (TokenParser for:#typedef)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   458
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   459
    "Modified: / 11-01-2013 / 15:04:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   460
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   461
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   462
importReference
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   463
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   464
	^(((TokenParser for:#identifier) , (':' asParser)) optional) , (TokenParser for:#string)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   465
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   466
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   467
importReferences
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   468
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   469
	^importReference , (((',' asParser) , importReference) star) , ((',' asParser) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   470
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   471
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   472
incrementOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   473
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   474
        ^ ('++' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   475
        / ('--' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   476
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   477
    "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
   478
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   479
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   480
initializedIdentifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   481
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   482
	^identifier , ((('=' asParser) , constantExpression) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   483
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   484
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   485
initializedIdentifierList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   486
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   487
	^initializedIdentifier , (((',' asParser) , initializedIdentifier) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   488
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   489
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   490
initializedVariableDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   491
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   492
	^declaredIdentifier , ((('=' asParser) , constantExpression) optional) , (((',' asParser) , initializedIdentifier) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   493
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   494
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   495
initializers
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   496
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   497
	^(':' asParser) , superCallOrFieldInitializer , (((',' asParser) , superCallOrFieldInitializer) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   498
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   499
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   500
interfaceDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   501
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   502
	^(TokenParser for:#interface) , identifier , (typeParameters optional) , (superinterfaces optional) , (factorySpecification optional) , (TokenParser for:${) , (interfaceMemberDefinition star) , (TokenParser for:$})
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   503
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   504
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   505
interfaceMemberDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   506
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   507
	^ ((TokenParser for:#static) , (TokenParser for:#final) , (type optional) , initializedIdentifierList , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   508
	/ (functionDeclaration , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   509
	/ (constantConstructorDeclaration , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   510
	/ (namedConstructorDeclaration , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   511
	/ (specialSignatureDefinition , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   512
	/ (variableDeclaration , (TokenParser for:$;))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   513
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   514
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   515
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   516
interfaces
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   517
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   518
	^(TokenParser for:#implements) , typeList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   519
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   520
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   521
isOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   522
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   523
	^(TokenParser for:#is) , (('!!' asParser) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   524
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   525
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   526
iterationStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   527
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   528
	^ ((TokenParser for:#while) , (TokenParser for:$() , constantExpression , (TokenParser for:$)) , statement)
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   529
	/ ((TokenParser for:#do) , statement , (TokenParser for:#while) , (TokenParser for:$() , constantExpression , (TokenParser for:$)) , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   530
	/ ((TokenParser for:#for) , (TokenParser for:$() , forLoopParts , (TokenParser for:$)) , statement)
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   531
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   532
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   533
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   534
label
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   535
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   536
	^identifier , (':' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   537
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   538
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   539
libraryBody
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   540
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   541
	^(libraryImport optional) , (librarySource optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   542
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   543
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   544
libraryDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   545
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   546
	^(TokenParser for:#library) , (TokenParser for:${) , libraryBody , (TokenParser for:$})
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   547
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   548
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   549
libraryImport
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   550
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   551
	^(TokenParser for:#import) , ('=' asParser) , ('[' asParser) , (importReferences optional) , (']' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   552
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   553
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   554
librarySource
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   555
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   556
	^(TokenParser for:#source) , ('=' asParser) , ('[' asParser) , (sourceUrls optional) , (']' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   557
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   558
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   559
libraryUnit
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   560
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   561
        ^libraryDefinition end
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   562
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   563
    "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
   564
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   565
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   566
listLiteral
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   567
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   568
	^('[' asParser) , ((expressionList , ((',' asParser) optional)) optional) , (']' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   569
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   570
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   571
literal
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   572
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   573
        ^ (TokenParser for: #null)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   574
        / (TokenParser for: #true)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   575
        / (TokenParser for: #false)
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   576
        / (TokenParser for: #Integer)
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   577
        / (TokenParser for: #Float)
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   578
        / (TokenParser for:#string)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   579
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   580
    "Modified: / 11-01-2013 / 15:17:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   581
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   582
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   583
logicalAndExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   584
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   585
	^bitwiseOrExpression , ((('&&' asParser) , bitwiseOrExpression) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   586
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   587
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   588
logicalOrExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   589
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   590
	^logicalAndExpression , ((('||' asParser) , logicalAndExpression) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   591
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   592
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   593
mapLiteral
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   594
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   595
	^(TokenParser for:${) , ((mapLiteralEntry , (((',' asParser) , mapLiteralEntry) star) , ((',' asParser) optional)) optional) , (TokenParser for:$})
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   596
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   597
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   598
mapLiteralEntry
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   599
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   600
	^(TokenParser for:#string) , (':' asParser) , constantExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   601
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   602
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   603
methodDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   604
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   605
	^ factoryConstructorDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   606
	/ ((TokenParser for:#static) , functionDeclaration)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   607
	/ specialSignatureDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   608
	/ (functionDeclaration , (initializers optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   609
	/ (namedConstructorDeclaration , (initializers optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   610
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   611
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   612
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   613
multiplicativeExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   614
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   615
	^ (unaryExpression , ((multiplicativeOperator , unaryExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   616
	/ ((TokenParser for:#super) , ((multiplicativeOperator , unaryExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   617
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   618
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   619
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   620
multiplicativeOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   621
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   622
	^ ('*' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   623
	/ ('/' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   624
	/ ('%' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   625
	/ ('~/' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   626
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   627
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   628
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   629
namedArgument
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   630
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   631
	^label , constantExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   632
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   633
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   634
namedConstructorDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   635
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   636
	^identifier , ('.' asParser) , identifier , formalParameterList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   637
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   638
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   639
namedFormalParameters
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   640
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   641
	^('[' asParser) , defaultFormalParameter , (((',' asParser) , defaultFormalParameter) star) , (']' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   642
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   643
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   644
negateOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   645
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   646
	^ ('!!' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   647
	/ ('~' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   648
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   649
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   650
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   651
nonLabelledStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   652
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   653
        ^ block
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   654
        / (initializedVariableDeclaration , (TokenParser for:$;))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   655
        / iterationStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   656
        / selectionStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   657
        / tryStatement
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   658
        / ((TokenParser for: #break) , (identifier optional) , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   659
        / ((TokenParser for: #continue) , (identifier optional) , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   660
        / ((TokenParser for: #return) , (constantExpression optional) , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   661
        / ((TokenParser for: #throw) , (constantExpression optional) , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   662
        / ((constantExpression optional) , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   663
        / ((TokenParser for: #assert) , (TokenParser for:$() , conditionalExpression , (TokenParser for:$)) , (TokenParser for:$;))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   664
        / (functionDeclaration , functionBody)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   665
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   666
    "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
   667
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   668
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   669
normalFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   670
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   671
	^ functionDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   672
	/ fieldFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   673
	/ simpleFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   674
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   675
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   676
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   677
normalFormalParameterTail
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   678
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   679
	^ ((',' asParser) , namedFormalParameters)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   680
	/ ((',' asParser) , normalFormalParameter , (normalFormalParameterTail optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   681
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   682
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   683
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   684
postfixExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   685
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   686
	^ (assignableExpression , postfixOperator)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   687
	/ (primary , (selector star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   688
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   689
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   690
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   691
postfixOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   692
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   693
	^ ('++' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   694
	/ ('--' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   695
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   696
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   697
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   698
prefixOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   699
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   700
	^ additiveOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   701
	/ negateOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   702
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   703
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   704
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   705
primary
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   706
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   707
	^ primaryNoFE
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   708
	/ primaryFE
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   709
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   710
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   711
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   712
primaryFE
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   713
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   714
	^ functionExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   715
	/ primaryNoFE
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   716
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   717
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   718
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   719
primaryNoFE
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   720
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   721
        ^ (TokenParser for:#this)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   722
        / ((TokenParser for:#super) , assignableSelector)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   723
        / literal
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   724
        / identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   725
        / (((TokenParser for:#const) optional) , (typeArguments optional) , compoundLiteral)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   726
        / (((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
   727
        / expressionInParentheses
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   728
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   729
    "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
   730
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   731
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   732
qualified
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   733
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   734
	^identifier , ((('.' asParser) , identifier) optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   735
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   736
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   737
redirection
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   738
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   739
	^(':' asParser) , (TokenParser for:#this) , ((('.' asParser) , identifier) optional) , arguments
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   740
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   741
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   742
relationalExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   743
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   744
	^ (shiftExpression , (((isOperator , type) / (relationalOperator , shiftExpression) ) optional))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   745
	/ ((TokenParser for:#super) , relationalOperator , shiftExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   746
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   747
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   748
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   749
relationalOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   750
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   751
	^ (('>' asParser) , ('=' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   752
	/ ('>' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   753
	/ ('<=' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   754
	/ ('<' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   755
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   756
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   757
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   758
returnType
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   759
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   760
        ^ (TokenParser for: #void)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   761
        / type
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   762
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   763
    "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
   764
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   765
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   766
selectionStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   767
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   768
        ^ ((TokenParser for: #if) , (TokenParser for:$() , constantExpression , (TokenParser for:$)) , statement , (((TokenParser for: #else) , statement) optional))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   769
        / ((TokenParser for: #switch) , (TokenParser for:$() , constantExpression , (TokenParser for:$)) , (TokenParser for:${) , (switchCase star) , (defaultCase optional) , (TokenParser for:$}))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   770
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   771
    "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
   772
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   773
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   774
selector
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   775
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   776
	^ assignableSelector
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   777
	/ arguments
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   778
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   779
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   780
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   781
shiftExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   782
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   783
	^ (additiveExpression , ((shiftOperator , additiveExpression) star))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   784
	/ ((TokenParser for:#super) , ((shiftOperator , additiveExpression) plus))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   785
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   786
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   787
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   788
shiftOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   789
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   790
	^ ('<<' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   791
	/ (('>' asParser) , ('>' asParser) , ('>' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   792
	/ (('>' asParser) , ('>' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   793
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   794
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   795
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   796
simpleFormalParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   797
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   798
	^ declaredIdentifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   799
	/ identifier
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   800
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   801
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   802
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   803
sourceUrls
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   804
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   805
	^(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
   806
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   807
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   808
specialSignatureDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   809
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   810
        ^ (((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
   811
        / ((returnType optional) , (TokenParser for: #operator) , userDefinableOperator , formalParameterList)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   812
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   813
    "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
   814
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   815
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   816
statement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   817
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   818
	^(label star) , nonLabelledStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   819
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   820
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   821
statements
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   822
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   823
	^statement star
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   824
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   825
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   826
staticFinalDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   827
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   828
	^identifier , ('=' asParser) , constantExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   829
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   830
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   831
staticFinalDeclarationList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   832
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   833
	^staticFinalDeclaration , (((',' asParser) , staticFinalDeclaration) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   834
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   835
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   836
superCallOrFieldInitializer
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   837
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   838
	^ ((TokenParser for:#super) , arguments)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   839
	/ ((TokenParser for:#super) , ('.' asParser) , identifier , arguments)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   840
	/ fieldInitializer
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   841
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   842
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   843
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   844
superclass
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   845
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   846
        ^(TokenParser for: #extends) , type
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   847
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   848
    "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
   849
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   850
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   851
superinterfaces
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   852
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   853
        ^(TokenParser for: #extends) , typeList
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   854
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   855
    "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
   856
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   857
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   858
switchCase
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   859
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   860
	^(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
   861
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   862
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   863
topLevelDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   864
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   865
	^ classDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   866
	/ interfaceDefinition
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   867
	/ functionTypeAlias
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   868
	/ (functionDeclaration , functionBodyOrNative)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   869
	/ ((returnType optional) , getOrSet , identifier , formalParameterList , functionBodyOrNative)
6
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   870
	/ ((TokenParser for:#final) , (type optional) , staticFinalDeclarationList , (TokenParser for:$;))
06efdfe62106 More tests and fixes for Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   871
	/ (constInitializedVariableDeclaration , (TokenParser for:$;))
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   872
	
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   873
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   874
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   875
tryStatement
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   876
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   877
        ^(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
   878
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   879
    "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
   880
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   881
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   882
type
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   883
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   884
	^qualified , (typeArguments optional)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   885
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   886
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   887
typeArguments
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   888
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   889
	^('<' asParser) , typeList , ('>' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   890
!
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   891
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   892
typeList
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
	^type , (((',' asParser) , type) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   895
!
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
typeParameter
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   898
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   899
        ^identifier , (((TokenParser for: #extends) , type) optional)
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
    "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
   902
!
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
typeParameters
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
	^('<' asParser) , typeParameter , (((',' asParser) , typeParameter) star) , ('>' asParser)
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
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   909
unaryExpression
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
	^ postfixExpression
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   912
	/ (prefixOperator , unaryExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   913
	/ (negateOperator , (TokenParser for:#super))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   914
	/ (('-' asParser) , (TokenParser for:#super))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   915
	/ (postfixOperator , assignableExpression)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   916
	
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
userDefinableOperator
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
        ^ multiplicativeOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   922
        / additiveOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   923
        / shiftOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   924
        / relationalOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   925
        / bitwiseOperator
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   926
        / ('==' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   927
        / ('~' asParser)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   928
        / (TokenParser for: #negate)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   929
        / (('[' asParser) , (']' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   930
        / (('[' asParser) , (']' asParser) , ('=' asParser))
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   931
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   932
    "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
   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
variableDeclaration
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   936
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   937
	^declaredIdentifier , (((',' asParser) , identifier) star)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   938
! !
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   939
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   940
!Parser methodsFor:'initialization'!
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
initializeStartingAt: aSymbol
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   943
        | allVariableNames ignoredVariableNames productionIndexesAndNames debugger |
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   944
        self initialize.        
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   945
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   946
        Debugging ifTrue:[
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   947
            PPDebugger notNil ifTrue:[
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   948
                self assert: (Smalltalk loadPackage: 'stx:goodies/petitparser/devtools').
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   949
                debugger := PPDebugger new
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   950
            ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   951
        ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   952
        "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
   953
        allVariableNames := self class allInstVarNames
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   954
                collect: [ :each | each asSymbol ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   955
        ignoredVariableNames := self class ignoredNames
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   956
                collect: [ :each | each asSymbol ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   957
        productionIndexesAndNames := ((1 to: self class instSize)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   958
                collect: [ :index | index -> (allVariableNames at: index) ])
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   959
                reject: [ :assoc | ignoredVariableNames includes: assoc value ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   960
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   961
        "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
   962
        parser := PPUnresolvedParser named: aSymbol.
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   963
        productionIndexesAndNames do: [ :assoc |
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   964
                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
   965
        parser def: (self perform: aSymbol).
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   966
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   967
        "resolve unresolved parsers with their actual implementation"
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   968
        productionIndexesAndNames do: [ :assoc |
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   969
                (self respondsTo: assoc value)
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   970
                        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
   971
                        ifTrue: [ 
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   972
                            | production |
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   973
                            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
   974
                            Debugging ifTrue:[
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   975
                                production := PPDebuggingParser parser: production  debugger: debugger
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   976
                            ].
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   977
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   978
                            (self instVarAt: assoc key) def: production.
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
    "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
   983
    "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
   984
! !
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   985
1
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   986
!Parser::TokenParser class methodsFor:'instance creation'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   987
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   988
for: tokenType
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   989
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   990
    ^self new tokenType: tokenType
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   991
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   992
    "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
   993
! !
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   994
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   995
!Parser::TokenParser methodsFor:'accessing'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   996
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   997
tokenType
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   998
    ^ tokenType
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   999
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1000
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1001
tokenType:aSymbol
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1002
    tokenType := aSymbol.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1003
! !
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1004
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1005
!Parser::TokenParser methodsFor:'parsing'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1006
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1007
parseOn:aJavaScanner
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1008
    "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
  1009
    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
  1010
    instead use #parse:."
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1011
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1012
    | pos |
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1013
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1014
    pos := aJavaScanner position.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1015
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1016
    ^(aJavaScanner nextToken = tokenType) ifTrue:[
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1017
        aJavaScanner token
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1018
    ] ifFalse:[
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1019
        aJavaScanner position: pos.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1020
        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
  1021
    ]
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1022
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1023
    "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
  1024
! !
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1025
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1026
!Parser class methodsFor:'documentation'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1027
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1028
version_HG
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1029
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1030
    ^ '$Changeset: <not expanded> $'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
  1031
! !
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1032
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
  1033
Parser initialize!