Beispiel #1
0
            public List <object> Call(List <object> args)
            {
                var newSymbolName = (string)args[1];

                return(new List <object> {
                    Tuple.Create(newSymbolName, InterpreterCodeGenerator.Assignment(newSymbolName, (string)args[4]))
                });
            }
Beispiel #2
0
            public List <object> Call(List <object> args)
            {
                var assignment = (Tuple <string, string>)args[1];

                return(new List <object> {
                    Tuple.Create(assignment.Item1, InterpreterCodeGenerator.FallbackPoint(assignment.Item2))
                });
            }
Beispiel #3
0
            public List <object> Call(List <object> args)
            {
                var start = string.IsNullOrEmpty((string)args[2]) ? "null" : (string)args[2];
                var end   = string.IsNullOrEmpty((string)args[4]) ? "null" : (string)args[4];

                return(new List <object> {
                    InterpreterCodeGenerator.Repeat((string)args[0], start, end)
                });
            }
Beispiel #4
0
 public List <object> Call(List <object> args)
 {
     if (args.Count == 1)
     {
         return(args);
     }
     return(new List <object> {
         InterpreterCodeGenerator.Any(args.Where(x => (string)x != "|").Cast <string>())
     });
 }
Beispiel #5
0
 public List <object> Call(List <object> args)
 {
     if (args.Count == 1)
     {
         return(args);
     }
     return(new List <object> {
         InterpreterCodeGenerator.InOrder(args.Cast <string>())
     });
 }
Beispiel #6
0
 public List <object> Call(List <object> args)
 {
     return(new List <object> {
         InterpreterCodeGenerator.Range(((string)args[1])[0], ((string)args[3])[0])
     });
 }
Beispiel #7
0
 public List <object> Call(List <object> args)
 {
     return(new List <object> {
         InterpreterCodeGenerator.AnyChar()
     });
 }
Beispiel #8
0
 public List <object> Call(List <object> args)
 {
     return(new List <object> {
         InterpreterCodeGenerator.Symbol(((string)args[1]).Replace("\"", "\\\""))
     });
 }
Beispiel #9
0
 public List <object> Call(List <object> args)
 {
     return(InterpreterCodeGenerator.EntryPoint(args.Cast <string>()).Cast <object>().ToList());
 }
Beispiel #10
0
            public List <object> Call(List <object> args)
            {
                var castArgs = args.Take(args.Count - 1).Cast <Tuple <string, string> >().ToArray();

                return(InterpreterCodeGenerator.AllAssignments(castArgs).Cast <object>().ToList());
            }
Beispiel #11
0
 public List <object> Call(List <object> args)
 {
     return(new List <object> {
         InterpreterCodeGenerator.Negate((string)args[1])
     });
 }