Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
 public abstract T Visit(Syntax1Node node);