예제 #1
0
 public override Template Visit(StmtDefer stmt_defer)
 {
     throw new Exception(string.Format("It's impossible to run this code."));
     return null;
 }
예제 #2
0
파일: Visitor.cs 프로젝트: BYVoid/SugarCpp
 public abstract Template Visit(StmtDefer stmt_defer);
예제 #3
0
	private Stmt stmt_defer()
	{
		EnterRule_stmt_defer();
		EnterRule("stmt_defer", 21);
		TraceIn("stmt_defer", 21);
		Stmt value = default(Stmt);


		List<Stmt> a = default(List<Stmt>);

		try { DebugEnterRule(GrammarFileName, "stmt_defer");
		DebugLocation(304, 1);
		try
		{
			// SugarWalker.g:305:2: ( ^( Stmt_Defer a= stmt ) | ^( Stmt_Finally a= stmt ) )
			int alt41=2;
			try { DebugEnterDecision(41, false);
			int LA41_0 = input.LA(1);

			if ((LA41_0==Stmt_Defer))
			{
				alt41 = 1;
			}
			else if ((LA41_0==Stmt_Finally))
			{
				alt41 = 2;
			}
			else
			{
				NoViableAltException nvae = new NoViableAltException("", 41, 0, input);
				DebugRecognitionException(nvae);
				throw nvae;
			}
			} finally { DebugExitDecision(41); }
			switch (alt41)
			{
			case 1:
				DebugEnterAlt(1);
				// SugarWalker.g:305:4: ^( Stmt_Defer a= stmt )
				{
				DebugLocation(305, 4);
				DebugLocation(305, 6);
				Match(input,Stmt_Defer,Follow._Stmt_Defer_in_stmt_defer1174); 

				Match(input, TokenTypes.Down, null); 
				DebugLocation(305, 18);
				PushFollow(Follow._stmt_in_stmt_defer1178);
				a=stmt();
				PopFollow();


				Match(input, TokenTypes.Up, null); 

				DebugLocation(306, 2);

						value = new StmtDefer(a[0]);
					

				}
				break;
			case 2:
				DebugEnterAlt(2);
				// SugarWalker.g:309:4: ^( Stmt_Finally a= stmt )
				{
				DebugLocation(309, 4);
				DebugLocation(309, 6);
				Match(input,Stmt_Finally,Follow._Stmt_Finally_in_stmt_defer1188); 

				Match(input, TokenTypes.Down, null); 
				DebugLocation(309, 20);
				PushFollow(Follow._stmt_in_stmt_defer1192);
				a=stmt();
				PopFollow();


				Match(input, TokenTypes.Up, null); 

				DebugLocation(310, 2);

						value = new StmtFinally(a[0]);
					

				}
				break;

			}
		}
		catch (RecognitionException re)
		{
			ReportError(re);
			Recover(input,re);
		}
		finally
		{
			TraceOut("stmt_defer", 21);
			LeaveRule("stmt_defer", 21);
			LeaveRule_stmt_defer();
		}
		DebugLocation(313, 1);
		} finally { DebugExitRule(GrammarFileName, "stmt_defer"); }
		return value;

	}
예제 #4
0
 public abstract Template Visit(StmtDefer stmt_defer);