未分類

前回の最後で「Positive Technologies MySQL grammar」というものからJavaパーサーを作ってみた。エラーは出ていないのでSQLを解析してみよう。

動かしてみる
import java.ut ...

技術メモ

ゴール:DDL文からテーブル定義書を自動生成

さて、今回ANTLRを使おうと思ったのは、SQLのDDL文からテーブル定義書を自動作成したいからだ。

例えば、こんなDDLがあるとする(MYSQL)。

/* 書籍テーブル ...

技術メモ

さて、次はAntlrで生成されたパーサーを使って、実際にオレオレ言語をパースしてみる。つまり、この言語で記述されたソースコードを読み込み、字句解析、構文解析して構文木を作り出し、構文木を調べて見ることにする。

とは言っても ...

技術メモ

Antlrとは、いわゆるパーサージェネレータであり、プログラミング言語の文法を定義してやると、そのパーサーを自動生成してくれるものだ。つまり、

オレオレ言語の文法を定義する
ANTLRに上の定義を入れてやると、その「オレオ ...

技術メモ

XLSなりXLSXなりについて、シートごとにCSVファイルを作成することはできるのだが、多数のシートがある場合にはこれではやってられない。一度にCSV出力する方法は無いものかと思い、探してみると以下を発見した。

LibreOff ...

技術メモ

問題

JavaコンパイラもEclipseによるコンパイルもそうなのだが、オプションを指定しないと、メソッドのパラメータ名が.classファイルには書き込まれない。この結果、リフレクションでメソッドを調査しても、そのパラメータ名称は、ar ...

技術メモ

問題

equalsは便利な仕組みなのだが、このメソッドはタイプセーフにできない。そのために、間違ったオブジェクトと比較してしまい、常にfalseが返されるというバグの原因になる。例えば、

public static class F ...

未分類

打ち合わせの必要があったので新橋で会議室を探したのだが、ルノアールの会議室などはたしか一時間1,000円位する。もう少し安いところは無いものかと探したところ、あった。あったのだが、しかし安すぎる、税別100円だという。

「 ...

技術メモ

問題

Eclipseを使っていると通常のクラス参照では、すぐにそのクラスを見つけ出してくれて、importを作成してくれる。例えば何かしらのクラス名を記述して、そこで「Ctrl + Shift + M」を押せば候補を表示してくれ、OKす ...

技術メモ, 未分類

問題

GWTのコンパイルで次のようなエラーが出た。完全にコンパイラがストップしてしまう。

Unexpected internal compiler errorjava.lang.IncompatibleClassChangeErr ...