// Path: src/java/net/rkoubou/kspparser/analyzer/SymbolDefinition.java
// public enum SymbolType
// {
//     Unknown,
//     Callback,
//     Command,
//     UserFunction,
//     Variable,
//     Literal,
//     Expression,
//     PreprocessorSymbol,
// };
// 
// Path: src/java/net/rkoubou/kspparser/javacc/generated/ASTCallCommand.java
// public
// class ASTCallCommand extends SimpleNode {
//   public ASTCallCommand(int id) {
//     super(id);
//   }
// 
//   public ASTCallCommand(KSPParser p, int id) {
//     super(p, id);
//   }
// 
// 
//   /** Accept the visitor. **/
//   public Object jjtAccept(KSPParserVisitor visitor, Object data) {
// 
//     return
//     visitor.visit(this, data);
//   }
// }


import net.rkoubou.kspparser.analyzer.SymbolDefinition.SymbolType;
import net.rkoubou.kspparser.javacc.generated.ASTCallCommand;
/* =========================================================================

    CommandTable.java
    Copyright (c) R-Koubou

   ======================================================================== */

package net.rkoubou.kspparser.analyzer;


/**
 * KSPコマンド定義テーブル
 */
public class CommandTable extends SymbolTable<ASTCallCommand, Command> implements AnalyzerConstants
{
    /**
     * ctor
     */
    public CommandTable()
    {
        super();
    }

    /**
     * ctor
     */
    public CommandTable( CommandTable parent )
    {
        super( parent );
    }

    /**
     * ctor
     */
    public CommandTable( CommandTable parent, int startIndex )
    {
        super( parent, startIndex );
    }

    /**
     * ユーザー定義関数テーブルへの追加
     */
    @Override
// Path: src/java/net/rkoubou/kspparser/analyzer/SymbolDefinition.java
// public enum SymbolType
// {
//     Unknown,
//     Callback,
//     Command,
//     UserFunction,
//     Variable,
//     Literal,
//     Expression,
//     PreprocessorSymbol,
// };
// 
// Path: src/java/net/rkoubou/kspparser/javacc/generated/ASTCallCommand.java
// public
// class ASTCallCommand extends SimpleNode {
//   public ASTCallCommand(int id) {
//     super(id);
//   }
// 
//   public ASTCallCommand(KSPParser p, int id) {
//     super(p, id);
//   }
// 
// 
//   /** Accept the visitor. **/
//   public Object jjtAccept(KSPParserVisitor visitor, Object data) {
// 
//     return
//     visitor.visit(this, data);
//   }
// }


// Path: src/java/net/rkoubou/kspparser/analyzer/CommandTable.java
import net.rkoubou.kspparser.analyzer.SymbolDefinition.SymbolType;
import net.rkoubou.kspparser.javacc.generated.ASTCallCommand;

/* =========================================================================

    CommandTable.java
    Copyright (c) R-Koubou

   ======================================================================== */

package net.rkoubou.kspparser.analyzer;


/**
 * KSPコマンド定義テーブル
 */
public class CommandTable extends SymbolTable<ASTCallCommand, Command> implements AnalyzerConstants
{
    /**
     * ctor
     */
    public CommandTable()
    {
        super();
    }

    /**
     * ctor
     */
    public CommandTable( CommandTable parent )
    {
        super( parent );
    }

    /**
     * ctor
     */
    public CommandTable( CommandTable parent, int startIndex )
    {
        super( parent, startIndex );
    }

    /**
     * ユーザー定義関数テーブルへの追加
     */
    @Override
    public boolean add( ASTCallCommand decl )