/// <summary> /// 構文タイプ1の評価 /// </summary> /// <param name="node">Syntax1Node</param> /// <returns>解析結果のSyntaxDataクラス</returns> public override object Visit(Syntax1Node node) { SyntaxData returnData = new SyntaxData(); //構文情報を登録する returnData.Distance = nowDistance; returnData.MapElement = new string[1]; returnData.MapElement[0] = node.MapElementName; returnData.Function = node.FunctionName; foreach (string key in node.Arguments.Keys) { if (node.Arguments[key] != null) { returnData.Arguments.Add(key, Visit(node.Arguments[key])); } else { returnData.Arguments.Add(key, null); } } return(returnData); }
public abstract T Visit(Syntax1Node node);