Example #1
0
 public ForLoopStatement(Parser yyp, ForLoopStatement fls, SimpleAssignment sa)
     : base(((LSLSyntax
         )yyp))
 {
     while (0 < fls.kids.Count) kids.Add(fls.kids.Pop());
     kids.Add(sa);
 }
Example #2
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);
 }
Example #3
0
 public ForLoopStatement(Parser yyp, ForLoopStatement fls, Expression e)
     : base(((LSLSyntax
         )yyp))
 {
     while (0 < fls.kids.Count) kids.Add(fls.kids.Pop());
     kids.Add(e);
 }
Example #4
0
        /// <summary>
        /// Generates the code for a ForLoopStatement node.
        /// </summary>
        /// <param name="fls">The ForLoopStatement node.</param>
        /// <returns>String containing C# code for ForLoopStatement fls.</returns>
        private string GenerateForLoopStatement(ForLoopStatement fls)
        {
            string retstr = String.Empty;

            int comma = fls.kids.Count - 1;  // tells us whether to print a comma

            foreach (SYMBOL s in fls.kids)
            {
                retstr += GenerateNode(s);
                if (0 < comma--)
                    retstr += Generate(", ");
            }

            return retstr;
        }