ECMAScriptはJavascriptの仕様を標準化しようとして作成されました。http://www.ecma-international.org/publications/standards/Ecma-262.htmでPDF形式の仕様書が公開されています。このECMA-262.pdfの巻末にあるAnnex Aには拡張BNFによる文法の定義が記載されています。
ECMAScriptはJavascriptの仕様を標準化しようとして作成されました。http://www.ecma-international.org/publications/standards/Ecma-262.htmでPDF形式の仕様書が公開されています。このECMA-262.pdfの巻末にあるAnnex Aには拡張BNFによる文法の定義が記載されています。
Mozilla Java Html Parser is a Java package that enables you to parse html pages into a Java Document object. The parser is a wrapper around Mozilla's Html Parser , thus giving the user a browser-quality html parser. This project is hosted at sourceforge.net This parser was development as part of Dapper . please visit us at http://www.dapper.net The HTML parser is now being used in a full scale pr
ユーザライブラリに下を追加すればOKかな? しかもgetASTするとASTが取得できるからVisitorパターンじゃなくても便利にアクセスできそう。こっちならよりいいんじゃないなか?明日試してみよう
ASTParserとは † さてさて、いままでEclipseのウィジェットとか、リスナーとか比較的IDEよりでないところを見てきましたが、今回はソースコードを解析するパーサ、ASTParserを見てみたいと思います。 ASTParserはパッケージエクスプローラなどに表示されているJavaソースからソースコードを取得し解析するとか、ユーザ入力値に応じてJavaのソースコードを生成するとか、Javaソースをプログラマブルに操作するときに使用します。 ↑ やってみる † 触ってみましょう。ソースコード情報はパッケージエクスプローラから取得するとして、そのクラスを操作するリーダを作ってみました。 package nu.mine.kino.plugin.astsampless; import java.util.Iterator; import org.apache.log4j.Logger; i
Rubyの StringScanner は個人的にかなり好きなモジュールで、Rubyでちょっとしたパーサなどを書くときに重宝しています。 一方、Pythonにはexperimentalながら re.Scanner というクラスがあります( >= 2.4 )。experimentalなのでマニュアルにはのっていませんが。この re.Scanner はかなりシンプルなんですが典型的な StringScanner の使い方の範疇では、こちらのほうがキレイに書けるような気がします。 re.Scanner の使い方 使い方は非常に簡単で (regex, action) のリストを渡してScannerオブジェクトを作成 action は(scanner, string_matched) => stringな関数、Noneを返せば結果は無視される。 scanメソッドでスキャン。結果が配列で返ってくる と
Parsing Expression Grammar (PEG)をベースとした構文解析器を生成するパーサジェネレータMetalを作りました。Rubyで書かれており、Rubyのコードを生成します。 Metalの多くはOMeta: an Object-Oriented Language for Pattern MatchingをRubyに移植したものです。 Metalの特徴: Rubyでアクションが書ける オブジェクト指向(継承、Mix-in、委譲、オーバーライド、super) PEGの特徴はそのまま 曖昧さが無い 左再帰が書けない(いまのところ) メモ化する ソースコードはCodeRepos:/lang/ruby/metalにあるので、ガツガツいじれます。 使い方 Ruby gemsでインストールできます。 $ gem install metal 文法定義ファイルを書いて、metalコマンド
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
ちょっと前にjavascriptで構文解析とかがはやった気がするので、javascriptのリハビリがてらかいてみた。 ググってみると Jsparsec - JavaScriptパーザコンビネータライブラリ HaskellのMonadをJavaScriptで実装するとしたら あたりがあるのだが、まぁ勉強ということで。javascriptらしく書いてみようかと。 ということで、モナドがどーたらとか難しい話はまぁおいておいて、簡単に値がとりだせますよ、という見栄え重視で作ってみた。基本的な機能しかない。けど拡張するのは簡単。せめて相互再帰くらいは実装したほうがよかったかな。まぁ、こんなの真剣に使う人もいないと思うので、要望があればってことで。ちなみに依存するライブラリはありません。 ダウンロード : Inforno.Parsec たとえばこんな感じにCSVのパーサが定義できる。withを使って
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く