タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaCCに関するnowokayのブックマーク (13)

  • JavaCCのLookaheadに気を付けろ! - CROSSFIRE DBとコンパイラの日記

    JavaCCでは、LOOKAHEADという文法生成規則のあいまいさをカバーしてくれる便利なコマンドがあるが、これを使うときは多少気を付けなくてはならない。 なぜかといえば、LOOKAHEADを使った先でLOOKAHEADが使われていて、先読みが重なった場合に、予測できない動作をすることがある。 さすがに、LOOKAHEADなしは厳しいが、なるべく使わないようにした方が良い。 LOOKAHEAD(2)の場合は、現在の選択の次の選択でLOOKAHEADが使われていないことを確かめればOKなので簡単だ。 問題は、LOOKAHEAD(3)以降で、この時は2階層下の生成規則までチェックが必要だ。 演算子の優先順位の関係で深い階層の生成規則が出てしまうときは、多めのLOOKAHEADが必要になることがあるが、それ以外はなるべくLOOKAHEAD(2)までにしておいた方が安全だ。 どっちみち、コンパイラ

    JavaCCのLookaheadに気を付けろ! - CROSSFIRE DBとコンパイラの日記
  • CodeZine: JavaCCでスクリプト言語を作成する 第3回 式言語の作成

    サンプルプログラム ビルド用antスクリプトです。このスクリプトは前回までのものとまったく同じものです。このようにantスクリプトでは環境や作成するプログラムに依存する部分をpropertiesファイルに抜き出しておくと再利用しやすくなります。 <?xml version="1.0" encoding="UTF-8"?> <project name="ParserLexer" default="default" basedir="."> <target name="init"> <property file="build.properties"/> </target> <target name="cc" depends="init"> <delete dir="${build.parser.dir}" includes="*.*"/> <jjtree target="${s

    nowokay
    nowokay 2006/08/09
    式言語を作ってみる
  • JavaCCでスクリプト言語を作成する 第2回:CodeZine

    はじめに この連載ではJavaCC+JJTreeを使ってスクリプト言語を作成していきます。前回は、JJTreeのオプション指定と生成クラスの定義、構築方法について説明しましたが、肝心の文法定義は説明していませんでした。今回は、基的な文法定義の構文を説明します。環境 前回と同じく、JavaCC 4.0、J2SE 5.0、Antを用意しておいてください。また、前回のサンプルプログラムも必要です。構文解析の用語 ここから文法定義の書き方を説明しますが、その前に構文解析で出てくる用語をまとめておきます。生成文法 構文解析のプログラムを組むときには、与えられた文がどのような構文になっているかという構造を解析していくわけですが、構文解析の元となる理論では「その文がどのような規則から生成されているか」という考え方をします。そのため、使われている用語に感覚的でないと思えるものがいくつかあります。 この理

    nowokay
    nowokay 2006/05/17
    今回は、文法定義の基本
  • CodeZine:JavaCCでスクリプト言語を作成する 第1回 ダウンロードとビルド

    はじめに 少し前まではプログラム言語と言えばJavaC++、VBという感じでしたが、Webの広まりと共にPerlが使われて、PHPが現れ、Rubyが注目されて、JavaScriptが熱をおび、いろいろな言語が活気付いてきました。そして最近は、手続き型以外の関数型言語や論理型言語などにも触手が伸びているようです。 こうなると、次はプログラム言語を実装したりオリジナルのプログラム言語を作ってみたい人も増えてくるかもしれません。そこで稿では、JavaCCを使ってプログラム言語を実装する手順を解説します。対象読者 Javaの基が分かっていてプログラム言語の作成に興味がある方。必要な環境 JavaCCは最新の4.0を利用します。ダウンロードしたファイルを任意のフォルダに展開しておいてください。 今回はJ2SE 5.0をベースにプログラムを記述します。JavaCC自体はJ2SE 5.0に依存する

    nowokay
    nowokay 2006/04/20
    構築方法
  • JavaCCの使い方(簡略版)

  • Mastering Visitor Pattern by jtree(JavaCC)

    Javaの字句解析、構文解析ツールに、JavaCC(Java Compiler Compiler)というツールがあります。簡単に言うならば、Unixの代表的なツールである、lex/yacc(flex/bison)のJava版ですね。 このJavaCCのパッケージには、jjtreeという構文木(Syntax Tree)を生成するためのコードを自動生成する便利なツールが添付されています。Syntax Treeは、構文を木構造で構成したものであり、Interpreterパターンを利用したコンポジット構造になっています。 jjtreeの特筆すべき点は、、構文木に対する処理を、Visitorへ委譲するように設計しているところです。Visitorの骸骨でも紹介したように、Visitorは、コンポジット構造をしたオブジェクトツリーに対する処理を分離して管理するのに非常に有用な手段です。 このコーナーでは

  • サービス提供終了のお知らせ

    日頃より、アレスネットをご愛顧いただきまして誠にありがとうございます。 「ホームページサービス」のサービス提供は2016年1月31日をもちまして終了させていただきました。 これまで長らくご利用いただき、誠にありがとうございました。 今後も、皆様によりよいサービスをご提供させていただけるよう、サービス品質向上に努めて参りますので、何卒、ご理解いただけますようお願 い申し上げます。 <アレスネットをご契約のお客様へ> 後継サービスとして「userwebサービス」を提供させていただいております。 詳しくは、以下のリンクをご参照ください。 ▼「userwebサービス」のご案内 http://www.ejworks.info/userhp/alles/index.html 今後ともアレスネットをご愛顧いただけますようお願い申し上げます。 株式会社イージェーワークス アレスネット カスタマーサポート

  • http://www.cs.albany.edu/~sreeni/JavaCC/faq.html

  • The JavaCC FAQ

  • JavaCC さくらいさん

    JavaCC Tips 最近は、XMLの普及によって、パーサージェネレータの出番はめっきり少なくなりましたが、ちょっとした独自形式ファイルの読み取りや、数式の解釈にはまだまだ役に立つツールです。ここでは、自分が引っかかったケースや、おそらく他の人も役に立つメモを適当に綴っていきます。この方面の専門家ではないので間違いなどありましたらお知らせ下さい。 JavaCC? コンパイラーのような、ある決まった形式のファイルを読んで、何かをするプログラムを自動生成するツール。コンパイラーを作るためのコンパイラー。単純作業だけど作ると大変な「パースする(文を読んで解釈する)プログラム」を作ってくれるソフト。<(説明も難しかったり。) 開発元:JavaCC@java.net インストールと簡単なチュートリアルなど JavaTipやSmartDocで有名な浅海さんのページが参考になります。 リンクなど Ja

  • http://apollo.u-gakugei.ac.jp/~kurasawa/javacc/

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 1