そもそもコンパイラの中ってどうなっているの? Javaでコンパイラの基礎を理解する(1) 普段、なにげなく使っているコンパイラ。中身を理解すると、プログラミングへの意識が変わり、技術力もつきます! 開発者必見です
SableCCはJavaベースのCompiler Compilerです。 URLはhttp://www.sablecc.org/です。 コンパイラコンパイラは文法構造の定義をもとにソースコードを 解析するコードを生成するものです。Javaでは他にJavaCCなどがあります。 SableCCは以下のような点がJavaCCと違います。 Unicodeベース: Readerを使うことにより、Javaのchar単位で解析している LALR(1) AST(abstract syntax tree)の生成 ASTへのVisitorによる走査: VisitorインタフェースAnalysis.javaを派生するため 文法ファイル中にJavaコードは埋めこまない SableCCは「文法定義ファイル」を読みこんで、実際にその文法で書かれた データを解析するためのJavaソースを生成します。 それらの生成Jav
What is KMyacc? kmyaccはyaccやbisonと同じLALRパーサージェネレータです。 yaccと互換性があり、生成される表が小さく、ホスト言語としてC以外にJava, JavaScript,Perlでも使うことができます。 News 2006.02.28: きむらさんによるWindows VC++用のパッチ 2006.02.16: version 4.1.4: Java, Perl, JavaScript版のパーサードラ イバのバグを修正。このバグは、ある種の文法で構文解析に失敗し実行時エラー を起こすというもの。C版にはこのバグはない。 2005.10.07: version 4.1.3: Java版に yyparsererror (YYERROR) 及びスタックの自動伸張を実装 2005.07.10: Demonstration program 2005.07.0
What is ANTLR? ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees. Terence Parr is a tech lead at Google and until 2022 was a professor of data science /
JavaCC 4.1 Released! JavaCC 4.1 is now available for download in the Documents & Files section: javacc-4.1.zip javacc-4.1.tar.gz Source code for the current release, archived versions and other contributions are also in the Documents & files section. Call for action Go ahead and submit issues and/or start discussion on the mailing lists for features and enhancements that you would like to s
RelaxNGCCは、RELAX NGで書かれたスキーマからJavaのソースコードを生成するツールです。入力XMLの各エレメントやアトリビュートを読んだときのアクションを、yaccやJavaCCと同様の手法でユーザが直接スキーマに追加記述します。 マニュアル 初歩的な使い方を示すチュートリアル1 もうちょっと高度な使い方を示すチュートリアル2 略記法とASTに関するチュートリアル3(英語) ASTに関して更に解説したチュートリアル4(英語) ランタイムを活用するチュートリアル5(英語) 生成されたコードを駆動するには?チュートリアル6(英語) RelaxNGCCをAntから使うには(英語) どのような原理で動いているかの内部的な説明(これを読むにはRELAX NGとオートマトンについての予備知識が必要です。) ダウンロード コンパイラの実行にはJRE1.2以降が必要です。 生成されたコード
The SableCC Projectは29日(現地時間)、SableCCの最新版であるSableCC 3.1を公開した。SableCCはJavaで実装されたコンパイラまたはインタプリタを生成するオブジェクト指向のフレームワーク。LGPLのもとオープンソースソフトウェアとして公開されている。 SableCC 3.1はコンパイラまたはインタプリタを生成するオブジェクト指向フレームワークとして動作する。このフレームワークは、2つの基本設計決定に基づいている。ひとつは、厳密にタイプされた抽象構文木(アブストラクトシンタックスツリー)を自動構築のために、オブジェクト指向技術を使用するということ。もうひとつは、継承を使用する抽象構文木のノードに対するアクションの実装を可能にするビジターデザインパターンの拡張バージョンを使用し、TreeWalkerオブジェクトを生成するということだ。 SableCC
沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。
Jparsec is now ported to Ruby, with a way lighter syntax than Java. require 'rparsec' include RParsec class Calculator include Parsers include Functors def parser ops = OperatorTable.new. infixl(char(?+) >> Plus, 20). infixl(char(?-) >> Minus, 20). infixl(char(?*) >> Mul, 40). infixl(char(?/) >> Div, 40). prefix(char(?-) >> Neg, 60) expr = nil term = integer.map(&To_i) | char('(') >> lazy{expr} <<
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く