StackAt() 공개 메소드

public StackAt ( int ix ) : ParseStackEntry
ix int
리턴 ParseStackEntry
예제 #1
0
/// <summary/>
/// <param name='yyq'></param>
  public OptionalSegment_2_1(Parser yyq):base(yyq){
				((PhonEnvParser
)yyq).CreateErrorMessage(PhonEnvParser.SyntaxErrType.missingClosingParen.ToString(),
	((TOKEN)(yyq.StackAt(2).m_value))
	.yytext,
	((error)(yyq.StackAt(0).m_value))
	.pos);
					((PhonEnvParser
)yyq).SyntaxErrorType = PhonEnvParser.SyntaxErrType.missingClosingParen;
					((PhonEnvParser
)yyq).Position =
	((error)(yyq.StackAt(0).m_value))
	.pos;
					}}
예제 #2
0
        public virtual SYMBOL Action(Parser yyp)
        {
            SYMBOL symbol1 = (SYMBOL)Sfactory.create(this.m_sym.yytext, yyp);

            if (symbol1.yyname == this.m_sym.yytext)
            {
                SYMBOL symbol2 = yyp.StackAt(this.m_len - 1).m_value;
                symbol1.m_dollar = this.m_len == 0 || symbol2 == null ? (object)null : symbol2.m_dollar;
            }
            return(symbol1);
        }
예제 #3
0
		public ForLoop_1(Parser yyq):base(yyq,
		                                  ((ForLoopStatement)(yyq.StackAt(6).m_value))
		                                  ,
		                                  ((Expression)(yyq.StackAt(4).m_value))
		                                  ,
		                                  ((ForLoopStatement)(yyq.StackAt(2).m_value))
		                                  ,
		                                  ((Statement)(yyq.StackAt(0).m_value))
		                                 ){}}
예제 #4
0
		public DoWhileStatement_1(Parser yyq):base(yyq,
		                                           ((Expression)(yyq.StackAt(2).m_value))
		                                           ,
		                                           ((Statement)(yyq.StackAt(5).m_value))
		                                          ){}}
예제 #5
0
		public IfStatement_2(Parser yyq):base(yyq,
		                                      ((Expression)(yyq.StackAt(4).m_value))
		                                      ,
		                                      ((Statement)(yyq.StackAt(2).m_value))
		                                      ,
		                                      ((Statement)(yyq.StackAt(0).m_value))
		                                     ){}}
예제 #6
0
		public StateChange_1(Parser yyq):base(yyq,
		                                      ((IDENT)(yyq.StackAt(0).m_value))
		                                      .yytext){}}
예제 #7
0
		public Statement_13(Parser yyq):base(yyq,
		                                     ((CompoundStatement)(yyq.StackAt(0).m_value))
		                                    ){}}
예제 #8
0
		public Statement_11(Parser yyq):base(yyq,
		                                     ((DoWhileStatement)(yyq.StackAt(0).m_value))
		                                    ){}}
예제 #9
0
		public Statement_8(Parser yyq):base(yyq,
		                                    ((StateChange)(yyq.StackAt(1).m_value))
		                                   ){}}
예제 #10
0
		public Declaration_1(Parser yyq):base(yyq,
		                                      ((Typename)(yyq.StackAt(1).m_value))
		                                      .yytext,
		                                      ((IDENT)(yyq.StackAt(0).m_value))
		                                      .yytext){}}
예제 #11
0
		public ArgumentDeclarationList_2(Parser yyq):base(yyq,
		                                                  ((ArgumentDeclarationList)(yyq.StackAt(2).m_value))
		                                                  ,
		                                                  ((Declaration)(yyq.StackAt(0).m_value))
		                                                 ){}}
예제 #12
0
		public StateEvent_1(Parser yyq):base(yyq,
		                                     ((Event)(yyq.StackAt(4).m_value))
		                                     .yytext,
		                                     ((ArgumentDeclarationList)(yyq.StackAt(2).m_value))
		                                     ,
		                                     ((CompoundStatement)(yyq.StackAt(0).m_value))
		                                    ){}}
예제 #13
0
		public StateBody_2(Parser yyq):base(yyq,
		                                    ((StateBody)(yyq.StackAt(1).m_value))
		                                    ,
		                                    ((StateEvent)(yyq.StackAt(0).m_value))
		                                   ){}}
예제 #14
0
		public State_2(Parser yyq):base(yyq,
		                                ((IDENT)(yyq.StackAt(3).m_value))
		                                .yytext,
		                                ((StateBody)(yyq.StackAt(1).m_value))
		                               ){}}
예제 #15
0
		public State_1(Parser yyq):base(yyq,
		                                ((DEFAULT_STATE)(yyq.StackAt(3).m_value))
		                                .yytext,
		                                ((StateBody)(yyq.StackAt(1).m_value))
		                               ){}}
예제 #16
0
		public Statement_7(Parser yyq):base(yyq,
		                                    ((JumpStatement)(yyq.StackAt(1).m_value))
		                                   ){}}
예제 #17
0
		public CompoundStatement_2(Parser yyq):base(yyq,
		                                            ((StatementList)(yyq.StackAt(1).m_value))
		                                           ){}}
예제 #18
0
		public Statement_9(Parser yyq):base(yyq,
		                                    ((IfStatement)(yyq.StackAt(0).m_value))
		                                   ){}}
예제 #19
0
		public StatementList_2(Parser yyq):base(yyq,
		                                        ((StatementList)(yyq.StackAt(1).m_value))
		                                        ,
		                                        ((Statement)(yyq.StackAt(0).m_value))
		                                       ){}}
예제 #20
0
		public Statement_12(Parser yyq):base(yyq,
		                                     ((ForLoop)(yyq.StackAt(0).m_value))
		                                    ){}}
예제 #21
0
		public Statement_1(Parser yyq):base(yyq,
		                                    ((EmptyStatement)(yyq.StackAt(1).m_value))
		                                   ){}}
예제 #22
0
		public JumpStatement_1(Parser yyq):base(yyq,
		                                        ((IDENT)(yyq.StackAt(0).m_value))
		                                        .yytext){}}
예제 #23
0
		public Statement_2(Parser yyq):base(yyq,
		                                    ((Declaration)(yyq.StackAt(1).m_value))
		                                   ){}}
예제 #24
0
		public StateChange_2(Parser yyq):base(yyq,
		                                      ((DEFAULT_STATE)(yyq.StackAt(0).m_value))
		                                      .yytext){}}
예제 #25
0
		public Statement_3(Parser yyq):base(yyq,
		                                    ((Assignment)(yyq.StackAt(1).m_value))
		                                   ){}}
예제 #26
0
		public IfStatement_4(Parser yyq):base(yyq,
		                                      ((SimpleAssignment)(yyq.StackAt(4).m_value))
		                                      ,
		                                      ((Statement)(yyq.StackAt(2).m_value))
		                                      ,
		                                      ((Statement)(yyq.StackAt(0).m_value))
		                                     ){}}
예제 #27
0
		public Statement_4(Parser yyq):base(yyq,
		                                    ((Expression)(yyq.StackAt(1).m_value))
		                                   ){}}
예제 #28
0
		public DoWhileStatement_2(Parser yyq):base(yyq,
		                                           ((SimpleAssignment)(yyq.StackAt(2).m_value))
		                                           ,
		                                           ((Statement)(yyq.StackAt(5).m_value))
		                                          ){}}
예제 #29
0
		public Statement_5(Parser yyq):base(yyq,
		                                    ((ReturnStatement)(yyq.StackAt(1).m_value))
		                                   ){}}
예제 #30
0
파일: parser.cs 프로젝트: Belxjander/Asuna
		public virtual SYMBOL Action(Parser yyp) 
		{
			SYMBOL s = (SYMBOL)Sfactory.create(m_sym.yytext,yyp);
			if (s.yyname==m_sym.yytext) 
			{  // provide for the default $$ = $1 action if possible
				SYMBOL t = yyp.StackAt(m_len-1).m_value;
				s.m_dollar = (m_len==0 || t==null)? null : t.m_dollar;
			}
			return s;
		}
예제 #31
0
		public Statement_6(Parser yyq):base(yyq,
		                                    ((JumpLabel)(yyq.StackAt(1).m_value))
		                                   ){}}