Loyc.LLParserGenerator.StageOneParser.AssignExpr C# (CSharp) Method

AssignExpr() private method

private AssignExpr ( ) : LNode
return LNode
		LNode AssignExpr()
		{
			TT la0;
			#line 100 "StageOneParserGrammar.ecs"
			Token op;
			#line default
			var a = PrefixExpr();
			// Line 102: (TT.Bang)*
			for (;;) {
				la0 = (TT) LA0;
				if (la0 == TT.Bang) {
					op = MatchAny();
					#line 102 "StageOneParserGrammar.ecs"
					a = F.Call(_SufBang, a, a.Range.StartIndex, op.EndIndex);
					#line default
				} else
					break;
			}
			// Line 103: ((TT.Assignment|TT.Colon|TT.HostOperator) AssignExpr)?
			la0 = (TT) LA0;
			if (la0 == TT.Assignment || la0 == TT.Colon || la0 == TT.HostOperator) {
				switch ((TT) LA(1)) {
				case TT.And:
				case TT.AndNot:
				case TT.Any:
				case TT.Id:
				case TT.In:
				case TT.InvertSet:
				case TT.LBrace:
				case TT.LBrack:
				case TT.Literal:
				case TT.LParen:
				case TT.Minus:
					{
						op = MatchAny();
						var b = AssignExpr();
						#line 103 "StageOneParserGrammar.ecs"
						Infix(ref a, (Symbol) op.Value, b);
						#line default
					}
					break;
				}
			}
			#line 104 "StageOneParserGrammar.ecs"
			return a;
			#line default
		}
		LNode PrefixExpr()