LoginSignup
0
0

More than 3 years have passed since last update.

JavaCCのセットアップ手順

Last updated at Posted at 2019-05-07

とっても易しいセットアップ手順

職場でどうしても構文解析をしたくなったので、JavaCCというパーサジェネレータを使う機会がありました。
この記事は、JavaCCを使うにあたって、公式ページのGetting Startedなど色々読んでまとめた自分向け手順です。

  1. 環境
    以下の環境で動作確認しました。

    OS JDK JavaCC
    Redhat Enterprise Linux(RHEL) 6 1.6 6.0
    macOS Mojave 1.8 6.0
    Windows 10 1.8 6.0
  2. 参考
    公式ページ:Getting Started

  3. ダウンロード
    公式ダウンロードサイトからzipファイルをダウンロードします。
    私の環境では、「Download JavaCC 6.0」というリンクボタンを押すとダウンロードが始まりました。

  4. 解凍
    ダウンロードしたzipファイルを解凍します
    解凍先は書き込み権限のあるところならどこでも大丈夫です。
    (私はサーバ側の環境を壊さないよう、以下のようにホームディレクトリ配下に解凍しました。)

    (Linx/Mac)
    ${HOME}/usr/local/tools/javacc-6.0
    
    (Windows)
    %systemdrive%%homepath%¥usr¥local¥tools¥javacc-6.0
    
  5. 実行ファイルの作成
    解凍したディレクトリ(フォルダ)内に"bin"というディレクトリがあります。
    ここに以下のような実行ファイルを起きます。

    ${HOME}/usr/local/tools/javacc-6.0/bin/javacc(Linux/Mac)
    #!/bin/bash
    java -cp ${HOME}/usr/local/tools/javacc-6.0/bin/lib/javacc.jar javacc "$@"
    
    %systemdrive%%homepath%¥usr¥local¥tools¥javacc-6.0¥bin¥javacc.bat(Windows)
    @ECHO OFF
    java -cp %systemdrive%%homepath%¥usr¥local¥tools¥javacc-6.0¥bin¥lib¥javacc.jar javacc %%*
    
  6. パスを通します。
    ユーザ環境変数PATHに実行ファイルを置いたディレクトリを追加します。

    Linux/Mac
    export PATH=${PATH}:${HOME}/usr/local/tools/javacc-6.0/bin
    
    Windows
    set PATH=%PATH%;%systemdrive%%homepath%¥usr¥local¥tools¥javacc-6.0¥bin
    
  7. テストしてみます
    上記でセットアップは完了です。
    ここで、動作するかテストしておきましょう。(Windowsについては割愛)

Linux/Mac(ホームディレクトリを/home/hogehogeとした場合)
  > # まずはPATHが通ったことを確認
  > which javacc
  /home/hogehoge/usr/local/tools/javacc-6.0/bin/javacc
  > # javaccが実行できることを確認
  > javacc
  Java Compiler Compiler Version 6.0_1 (Parser Generator)

  Usage:
      javacc option-settings inputfile

  "option-settings" is a sequence of settings separated by spaces.
  Each option setting must be of one of the following forms:

    ...(実際はもっと長いメッセージが出ます。)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0