技術メモ

Eclipseを使用していると、当然だが何度もプログラムを実行したり、ユニットテストを実行したりするのだが、その際に自動的に-enableAssertion(-ea)をRun Configurationに設定したい。こうすれば、常にa ...

技術メモ

No Image

愛用しているPriori3のバッテリパックが膨らんできて、バッテリだけの駆動ができなくなってきた。すぐに電源が落ちてしまう。バッテリを交換すりゃいいじゃないかと思うかもしれないが、もはや生産中止で、販売しているものは1万円近くの価格が ...

技術メモ

リスナー方式に変更

どうもコメントを拾うには、これまでのやり方ではだめのようだ。リスナーを使う必要があるらしい。そこで、以下のように変更してみる。


import org.antlr.v4.runtime.*;import ...

未分類

前回の最後で「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 ...