tgl.compiler.error
クラス CompileErrorHandler

java.lang.Object
  上位を拡張 tgl.compiler.error.CompileErrorHandler

public class CompileErrorHandler
extends java.lang.Object

コンパイルエラーを処理するエラーハンドラを表す。 エラーを表すクラス XXX に対して、そのエラーを処理する caseXXX という 名前のメソッドが用意されている。それらのメソッドでは、tglc.cup で定義 されているメソッド report_fatal_error にエラーメッセージを渡す。 repot_fatal_error は、受け取ったエラーメッセージを表示してエラーを報告し、 構文解析器を停止させてから例外 ParseException を発生させる。


フィールドの概要
(package private)  int col
           
(package private)  java.lang.String filename
           
(package private)  int line
           
(package private)  Parser parser
           
 
コンストラクタの概要
CompileErrorHandler(java.lang.String name)
          コンパイル時に発生するエラーのハンドラのオブジェクトを作成する。
 
メソッドの概要
(package private)  void caseAlreadyAsProcError(AlreadyAsProcError e)
          手続きとして宣言された識別子をグローバル変数として宣言したときに発生するエラーを報告する。
(package private)  void caseAlreadyAsVarError(AlreadyAsVarError e)
          グローバル変数として宣言された識別子を手続きとして宣言したときに発生するエラーを報告する。
(package private)  void caseDeclaredAsCommError(DeclaredAsCommError e)
          コマンドを関数として呼び出したときに発生するエラーを報告する。
(package private)  void caseDeclaredAsFuncError(DeclaredAsFuncError e)
          関数をコマンドとして呼び出したときに発生するエラーを報告する。
(package private)  void caseDeclaredAsProcError(DeclaredAsProcError e)
          手続きとして宣言された識別子を変数として使用したときに発生するエラーを報告する。
(package private)  void caseDeclaredAsVarError(DeclaredAsVarError e)
          変数として宣言された識別子を手続きとして使用したときに発生するエラーを報告する。
(package private)  void caseIllegalCharError(IllegalCharError e)
          字句解析器が不正な文字を読んだときに発生するエラーを報告する。
(package private)  void caseNotReturnValueError(NotReturnValueError e)
          関数の定義中に現れる return 文の戻り値が指定されていないときに発生するエラーを報告する。
(package private)  void caseParamNumMismatchError(ParamNumMismatchError e)
          手続き呼び出しの引数の個数が宣言と一致しないときに発生するエラーを報告する。
(package private)  void caseProcDefDuplicationError(ProcDefDuplicationError e)
          手続きを二重定義したときに発生するエラーを報告する。
(package private)  void caseProcDuplicationError(ProcDuplicationError e)
          手続きを二重宣言したときに発生するエラーを報告する。
(package private)  void caseProcKindMismatchError(ProcKindMismatchError e)
          手続きの宣言での種別と定義での種別が異なるときに発生するエラーを報告する。
(package private)  void caseProcNotDeclaredError(ProcNotDeclaredError e)
          宣言されていない手続きを呼び出したときに発生するエラーを報告する。
(package private)  void caseProcNotDefinedError(ProcNotDefinedError e)
          宣言済の手続きを定義していないときに発生するエラーを報告する。
(package private)  void caseReturnValueError(ReturnValueError e)
          コマンドの定義中に現れる return 文に戻り値が指定されているときに発生するエラーを報告する。
(package private)  void caseSyntaxError(SyntaxError e)
          構文解析エラーが発生するエラーを報告する。
(package private)  void caseUnclosedCharError(UnclosedCharError e)
          文字定数を閉じるクォートがないときに発生するエラーを報告する。
(package private)  void caseVarDuplicationError(VarDuplicationError e)
          変数を二重宣言したときに発生するエラーを報告する。
(package private)  void caseVarNotDeclaredError(VarNotDeclaredError e)
          宣言されていない変数を使用したときに発生するエラーを報告する。
 void setParser(Parser obj)
          構文解析器のインスタンスオブジェクトを保存する。
 void setTokenLocation(int l, int c)
          エラーが起きる可能性のあるトークンの位置を保存する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

parser

Parser parser

line

int line

col

int col

filename

java.lang.String filename
コンストラクタの詳細

CompileErrorHandler

public CompileErrorHandler(java.lang.String name)
コンパイル時に発生するエラーのハンドラのオブジェクトを作成する。

パラメータ:
name - コンパイルされる原始プログラムのファイル名
メソッドの詳細

setParser

public void setParser(Parser obj)
構文解析器のインスタンスオブジェクトを保存する。

パラメータ:
obj - 構文解析器のインスタンスオブジェクト

setTokenLocation

public void setTokenLocation(int l,
                             int c)
エラーが起きる可能性のあるトークンの位置を保存する。 位置は行と桁で表される。

パラメータ:
l - 行(最初の行を0とする)
c - 桁(最初の桁を0とする)

caseParamNumMismatchError

void caseParamNumMismatchError(ParamNumMismatchError e)
                         throws java.lang.Exception
手続き呼び出しの引数の個数が宣言と一致しないときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseProcNotDefinedError

void caseProcNotDefinedError(ProcNotDefinedError e)
                       throws java.lang.Exception
宣言済の手続きを定義していないときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseReturnValueError

void caseReturnValueError(ReturnValueError e)
                    throws java.lang.Exception
コマンドの定義中に現れる return 文に戻り値が指定されているときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseNotReturnValueError

void caseNotReturnValueError(NotReturnValueError e)
                       throws java.lang.Exception
関数の定義中に現れる return 文の戻り値が指定されていないときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseAlreadyAsVarError

void caseAlreadyAsVarError(AlreadyAsVarError e)
                     throws java.lang.Exception
グローバル変数として宣言された識別子を手続きとして宣言したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseAlreadyAsProcError

void caseAlreadyAsProcError(AlreadyAsProcError e)
                      throws java.lang.Exception
手続きとして宣言された識別子をグローバル変数として宣言したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseVarDuplicationError

void caseVarDuplicationError(VarDuplicationError e)
                       throws java.lang.Exception
変数を二重宣言したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseProcDuplicationError

void caseProcDuplicationError(ProcDuplicationError e)
                        throws java.lang.Exception
手続きを二重宣言したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseProcDefDuplicationError

void caseProcDefDuplicationError(ProcDefDuplicationError e)
                           throws java.lang.Exception
手続きを二重定義したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseProcKindMismatchError

void caseProcKindMismatchError(ProcKindMismatchError e)
                         throws java.lang.Exception
手続きの宣言での種別と定義での種別が異なるときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseVarNotDeclaredError

void caseVarNotDeclaredError(VarNotDeclaredError e)
                       throws java.lang.Exception
宣言されていない変数を使用したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseProcNotDeclaredError

void caseProcNotDeclaredError(ProcNotDeclaredError e)
                        throws java.lang.Exception
宣言されていない手続きを呼び出したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseDeclaredAsVarError

void caseDeclaredAsVarError(DeclaredAsVarError e)
                      throws java.lang.Exception
変数として宣言された識別子を手続きとして使用したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseDeclaredAsProcError

void caseDeclaredAsProcError(DeclaredAsProcError e)
                       throws java.lang.Exception
手続きとして宣言された識別子を変数として使用したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseDeclaredAsFuncError

void caseDeclaredAsFuncError(DeclaredAsFuncError e)
                       throws java.lang.Exception
関数をコマンドとして呼び出したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseDeclaredAsCommError

void caseDeclaredAsCommError(DeclaredAsCommError e)
                       throws java.lang.Exception
コマンドを関数として呼び出したときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseSyntaxError

void caseSyntaxError(SyntaxError e)
               throws java.lang.Exception
構文解析エラーが発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス
例外:
java.lang.Exception

caseIllegalCharError

void caseIllegalCharError(IllegalCharError e)
字句解析器が不正な文字を読んだときに発生するエラーを報告する。

パラメータ:
e - エラーを表すインスタンス

caseUnclosedCharError

void caseUnclosedCharError(UnclosedCharError e)
文字定数を閉じるクォートがないときに発生するエラーを報告する。 このエラーは字句解析器で発生する。

パラメータ:
e - エラーを表すインスタンス