Exemple #1
0
        /// <summary>
        /// 変数宣言ノードの評価
        /// </summary>
        /// <param name="node">変数宣言ノード</param>
        /// <returns>null</returns>
        public override object Visit(VarAssignNode node)
        {
            var val = Visit(node.Value);

            VariableStore.SetVar(node.VarName, val);
            return(null);    //変数宣言ステートメントは不要なので捨てる
        }
Exemple #2
0
 /// <summary>
 /// 構文解析器をエラーリスナーを指定して初期化します。
 /// </summary>
 /// <param name="listener">エラーリスナークラス</param>
 public MapGrammarParser(ParseErrorListener listener)
 {
     VariableStore.ClearVar();
     ErrorListener = listener;
 }
Exemple #3
0
 /// <summary>
 /// 構文解析器を初期化します。
 /// </summary>
 public MapGrammarParser()
 {
     VariableStore.ClearVar(); //変数の初期化
     ErrorListener = new ParseErrorListener();
 }
Exemple #4
0
 /// <summary>
 /// 変数の評価
 /// </summary>
 /// <param name="node">変数ノード</param>
 /// <returns>変数に対応する値(Double)</returns>
 public override object Visit(VarNode node)
 {
     return(VariableStore.GetVar(node.Key));
 }