2007-05-01から1ヶ月間の記事一覧

cgramの出力チェック(1)

cgramは実質C to Cのコンバータなので、入力Cプログラムと出力Cプログラムで比較することによって、検証を行う。実際にサンプルCプログラムを作成して比較してみる。元のCプログラム static int g1 = 0; typedef long mylong; static mylong z; typedef …

cgramのテスト

ANTLRのC言語定義ファイルであるcgramをテストしてみる。 テストデータ cgram/testsでmakeを実行すると、エラーになる。 $ make java -classpath .:..:../examples:../grammars Test test.c Exception in thread "main" java.lang.NoClassDefFoundError: Te…

C言語パーサ

cgramのダウンロード ANTLRのページhttp://www.antlr.org/ を色々と調べてみると、いくつかの文法ファイルをダウンロードできる。今回は、そのうちのC言語パーサ(cgram)のビルドを行う。環境設定については、すでに説明したものを利用する。参考:http://d.h…

Getting Started with ANTLR

言語定義ファイルの作成 実際に文法を定義して、パーサを生成してみる。 以下のページを参考にした。Getting Started with ANTLR http://www.antlr.org/doc/getting-started.html以下の内容を記述したファイルを作成する。仮にファイル名はt.gとする。 class…

ANTLRのインストール

環境 環境は以下の通りとする。 Fedora Core 6 bash JDK 1.6.0_01 ターゲット言語はJavaとC++ gijだとうまくいかなかったので、SunのサイトからJDKをダウンロードしてインストールしておく必要がある。 ビルド 以下の手順で行った。 $ cd antlr-2.7.7 $ ./co…

ANTLRとは

パーサジェネレータ。ANTLRメタ言語からLexer, Parser, Tree-Parserを生成させることができる。Javaで動く。ターゲット言語はC#,C++,Java,Python。ANTLR 3.0は開発中で、ANTLRメタ言語の仕様が変わり、ターゲット言語にC,Objective C, Ruby, LISP, Perl6, PH…

はじめまして

とりあえず登録してみました。主に個人的な技術メモを中心に使用していく予定です。