internal void GenerateVariableList(PlanningParser.ListVariableContext context) { do { if (context.VAR().Count != 0) { string type = context.type() == null ? DefaultType : context.type().GetText(); foreach (var varNode in context.VAR()) { var tuple = new Tuple <string, string>(varNode.GetText(), type); _variableList.Add(tuple); } } context = context.listVariable(); } while (context != null); }
public static IReadOnlyList <string> GetVariableNameList(this PlanningParser.ListVariableContext context) { List <string> result = new List <string>(); do { int count = context.VAR().Count; if (count != 0) { for (int i = 0; i < count; i++) { result.Add(context.VAR(i).GetText()); } } context = context.listVariable(); } while (context != null); return(result); }
public static string GetFullName(PlanningParser.ActionDefineContext context) { string name = context.actionSymbol().GetText(); List <string> termList = new List <string>(); PlanningParser.ListVariableContext listVariableContext = context.listVariable(); do { if (listVariableContext.VAR().Count != 0) { foreach (var varNode in listVariableContext.VAR()) { termList.Add(varNode.GetText()); } } listVariableContext = listVariableContext.listVariable(); } while (listVariableContext != null); return(GetFullName(name, termList)); }
public static IReadOnlyList <IList <string> > GetCollection(this PlanningParser.ListVariableContext context) { List <IList <string> > result = new List <IList <string> >(); do { int count = context.VAR().Count; if (count != 0) { string type = context.type() == null ? PlanningType.ObjectType.Name : context.type().GetText(); for (int i = 0; i < count; i++) { var constList = Globals.TermInterpreter.GetConstList(type); result.Add(constList); } } context = context.listVariable(); } while (context != null); return(result); }
/// <summary> /// Enter a parse tree produced by <see cref="PlanningParser.listVariable"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void EnterListVariable([NotNull] PlanningParser.ListVariableContext context) { }