コード例 #1
0
ファイル: AstEvaluator.cs プロジェクト: s520/Bve5_Parsing
        /// <summary>
        /// 構文タイプ2の評価
        /// </summary>
        /// <param name="node">Syntax2Node</param>
        /// <returns>解析結果のSyntaxDataクラス</returns>
        public override object Visit(Syntax2Node node)
        {
            SyntaxData returnData = new SyntaxData();

            //構文情報を登録する
            returnData.Distance      = nowDistance;
            returnData.MapElement    = new string[1];
            returnData.MapElement[0] = node.MapElementName;
            returnData.Key           = Visit(node.Key).ToString();
            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);
        }
コード例 #2
0
ファイル: AstEvaluator.cs プロジェクト: s520/Bve5_Parsing
 public abstract T Visit(Syntax2Node node);