Example #1
0
 public DoWhileStatement(Parser yyp, SYMBOL s, Statement st)
     : base(((LSLSyntax
         )yyp))
 {
     if (0 < st.kids.Count && st.kids.Top is CompoundStatement) kids.Add(st.kids.Pop());
     else kids.Add(st);
     kids.Add(s);
 }
Example #2
0
 public StatementList(Parser yyp, StatementList sl, Statement s)
     : base(((LSLSyntax
         )yyp))
 {
     while (0 < sl.kids.Count) kids.Add(sl.kids.Pop());
     AddStatement(s);
 }
Example #3
0
 private void AddStatement(Statement s)
 {
     if (s.kids.Top is IfStatement || s.kids.Top is WhileStatement || s.kids.Top is DoWhileStatement || s.kids.Top is ForLoop) kids.Add(s.kids.Pop());
     else kids.Add(s);
 }
Example #4
0
 public StatementList(Parser yyp, Statement s)
     : base(((LSLSyntax
         )yyp))
 {
     AddStatement(s);
 }
Example #5
0
 private void AddStatement(Statement s)
 {
     if (0 < s.kids.Count && s.kids.Top is CompoundStatement) kids.Add(s.kids.Pop());
     else kids.Add(s);
 }
Example #6
0
 public IfStatement(Parser yyp, SYMBOL s, Statement ifs, Statement es)
     : base(((LSLSyntax
         )yyp))
 {
     kids.Add(s);
     AddStatement(ifs);
     if (0 < es.kids.Count && es.kids.Top is IfStatement) kids.Add(es.kids.Pop());
     else AddStatement(es);
 }
Example #7
0
 public IfStatement(Parser yyp, SYMBOL s, Statement ifs)
     : base(((LSLSyntax
         )yyp))
 {
     kids.Add(s);
     AddStatement(ifs);
 }
Example #8
0
 public ForLoop(Parser yyp, ForLoopStatement flsa, Expression e, ForLoopStatement flsb, Statement s)
     : base(((LSLSyntax
         )yyp))
 {
     kids.Add(flsa);
     kids.Add(e);
     kids.Add(flsb);
     if (0 < s.kids.Count && s.kids.Top is CompoundStatement) kids.Add(s.kids.Pop());
     else kids.Add(s);
 }