@ -368,16 +368,32 @@ Block =
(. PopContext(); .)
(. PopContext(); .)
.
.
Expression =
Expression = SimpleExpressionWithSuffix. /* TODO: operators */
(. nextTokenIsPotentialStartOfXmlMode = true; .)
(
Literal |
( "(" Expression ")" ) |
( Identifier [ "(" "Of" TypeName { "," TypeName } ")" ] ) |
( "AddressOf" Expression) |
( XmlOpenTag (. PushContext(Context.Xml, t); .) ANY XmlCloseTag (. PopContext(); .) )
SimpleExpressionWithSuffix = SimpleExpression { ExpressionSuffix } .
)
SimpleExpression =
(. nextTokenIsPotentialStartOfXmlMode = true; .)
( Literal
| ( "(" Expression ")" )
| Identifier
| XmlLiteral
)
.
ExpressionSuffix =
"(" (. nextTokenIsPotentialStartOfXmlMode = true; .) ( "Of" TypeName { "," TypeName } ")" | ArgumentList ")" )
| "." IdentifierOrKeyword
.
XmlLiteral =
(. PushContext(Context.Xml, t); .)
{ XmlComment } XmlElement { XmlComment }
(. PopContext(); .)
.
XmlElement =
XmlOpenTag { ANY } ( XmlCloseTagEmptyElement | XmlCloseTag { ANY | XmlElement } XmlOpenEndTag { ANY } XmlCloseTag )
.
.
PrimitiveTypeName =
PrimitiveTypeName =
@ -448,10 +464,12 @@ RaiseEventStatement =
.
.
InvocationStatement =
InvocationStatement =
(. Console.WriteLine("InvocationStatement"); .)
[ "Call" ] Expression [ ( "=" | "^=" | "*=" | "/=" | "\\=" | "+=" | "-=" | "&=" | ">=" ) Expression ]
[ "Call" ] Expression [ ( "=" | "^=" | "*=" | "/=" | "\\=" | "+=" | "-=" | "&=" | ">=" ) Expression ]
.
.
ArgumentList =
ArgumentList =
(. Console.WriteLine("ArgumentList"); .)
Expression { "," Expression [ ":=" Expression ] }
Expression { "," Expression [ ":=" Expression ] }
.
.
@ -532,5 +550,4 @@ ParameterModifier =
"ParamArray"
"ParamArray"
.
.
END ExpressionFinder.
END ExpressionFinder .