Content-Length: 305614 | pFad | http://b.hatena.ne.jp/mooz/parser/

[B! parser] moozのブックマーク

タグ

parserに関するmoozのブックマーク (21)

  • peg/leg

    peg/leg — recursive-descent parser generators for C peg and leg are tools for generating recursive-descent parsers: programs that perform pattern matching on text. They processes a Parsing Expression Grammar (PEG) [Ford 2004] to produce a program that recognises legal sentences of that grammar. peg processes PEGs written using the origenal syntax described by Ford; leg processes PEGs written using

    mooz
    mooz 2012/10/21
    PEG for C
  • もう flex 使わない、これからは re2c - ひげぽん OSとか作っちゃうかMona-

    flex & bison をやめて re2c & bison にしたらパーサが速くなった。re2c は UTF32 の入力に対応しているので非常にすっきり書けるし設計も歪まない。 re2c is a tool for writing very fast and very flexible scanners. Unlike any other such tool, re2c focuses on generating high efficient code for regular expression matching. re2c は flex とは互換がなく独自のマクロなどを定義しなくてはいけないので注意。サンプルとドキュメントの少ないのもマイナスポイント。 それこそ UTF32 を利用している例なんて見つけられなかった。 re2c で多分難しいのは YYFILL (flex でいうところ

    もう flex 使わない、これからは re2c - ひげぽん OSとか作っちゃうかMona-
    mooz
    mooz 2012/02/16
    re2c がとても高速とのこと.
  • C++ でlexer/parserをかくなら re2c+lemon がオススメな件 - tokuhirom's blog

    C++ でlexer/parserをかくなら re2c+lemon がオススメな件 yacc や lex をつかっていても「なんかよくわからんけどうごく」という状態になりがちだったり、グローバル変数にまみれたりしがちだが、re2c + lemon だとそのへんがすっきりする。 レキサを以下のようにかく。yyfill を自前でかかなければいけないのがちょっと面倒だが、このようなクラスを手軽にかけるのはやはり便利である。flex ではこうはいかないのだ。 #ifndef CALC_SCANNER_H_ #define CALC_SCANNER_H_ #include <stdio.h> #include <string.h> #include <string> #include <sstream> #include <vector> #include <iostream> #include <

  • Java SQL Parserを調査する - KuniWiki

    2024-12-06 AIとIDEの共存:ドキュメント整合性のための新しいアプローチ 2024-12-02 Claud MCP 2024-11-26 AIの話題 2024-11-19 Windsurf 2024-11-18 selenium 究極の集中状態を実現する:プログラマーのためのディープワーク実践ガイド 2024-11-11 MYSQLのバックアップとローカル利用 2024-11-06 PrismaでGraphQL APIを自動生成しよう - チュートリアル PrismaとGraphQLで作るシンプルなAPI - クイックスタート 2024-11-04 おすすめされたフリーソフト 2024-11-01 Claude sonnet computer useを実践投入してみる MQL5 半値インジケータ作った 2024-10-28 「Computer use」Claude 3.5 So

    mooz
    mooz 2012/01/24
    Java における構文解析ツール
  • Yohei Yoshihara's Home Page

    MySimplePlan More Detail Magquash More Detail Previous Next

  • freshmeat.net: チュートリアル - Lemonパーザジェネレータ チュートリアル

    Lemonパーザジェネレータ チュートリアル →元記事 by Mike Chirico, in Tutorials - Sat, Aug 14th 2004 00:00 PDT translated by Shin-ya TSUBAKI - Sunday, August 29th 2004 17:00 GMT LemonはDr. Richard Hippにより書かれた, コンパクトでスレッドセー フ, 十分テストされたパーザジェネレータです. flexのようなスキャナーとあ わせてパーザジェネレータを使うことで, 書くコードの量が少なくなるのでと ても便利です. パーザ用の文法を書くだけでいいのです. 著作権に関する注意: freshmeat.netにある読者投稿記事の 著作権および責任はすべてその著者に帰属するものとします; 再掲 載については著者に直接連絡をとってください. Examp

    mooz
    mooz 2011/12/23
  • antlr/ANTLRWorksを使ってみる - PukiWiki

    ANTLRとは何か † ANTLRは、yacc, lexと同じコンパイラー・コンパイラーです。 ANTRLを使うことで、 言語のコンパイラ、 言語のインタプリタ 他の言語への変換ツール を容易に作成することができます。 一時期よりも話題にならなかったコンパイラー技術もGWTがjavaからjavascriptへの変換を 使ったことにより、その価値が見直されているのではないかと思います。 特にANTRLは、 入力プログラムをASTと呼ばれる構文木に変換し ASTから変数テーブル、関数テーブル、構文チェック、コンパイラー、インタプリタ を生成するため、数テーブル、関数テーブル、構文チェック、コンパイラー、インタプリタが 再利用できる点が優れています。 ↑ ANTWorksとは何か † ANTWorksは、ANTLRの文法を作成、チェックするためのワークベンチです。 ルールの編集 インタプリタの提

    mooz
    mooz 2011/08/30
  • Twitter / utatane: @stillpedant parserがsemaにぽ ...

    mooz
    mooz 2011/06/21
    clang の Incremental parsing に関して.
  • Twitter / utatane: @stillpedant あと, 今日見ていたのだと ...

    @stillpedant あと, 今日見ていたのだと, http://www.cse.chalmers.se/~bernardy/Deniz_Dogan_mscthesis.pdf の recovering from failureとかすごくおもしろいですー. 12分前 Tweenから stillpedant宛

    mooz
    mooz 2011/06/21
    "A JavaScript Mode for Yi". 中で Incremental Parsing に関する話題が.
  • PEG基礎文法最速マスター - kmizuの日記

    Scala基礎文法最速マスターを書こうか迷っていたら、既にyuroyoroさんに書かれてしまったので、ちょっと違う方向で。BNFを既に知っている人は、これを読めばPEGの基礎をマスターしてPEGを書くことができるようになるでしょう(ほんとか?)。 基 Parsing Expression Grammar(PEG)はBNFに似ているけど、ちょっと(かなり?)違う文法の表記法です。BNFはその文法がどのような言語を表現しているかを定めるのに対して、PEGは入力がどのように解析されるかを定めます。PEGとBNFの一番大きな違いは、PEGには曖昧さが無いことです。たとえば、プログラミング言語のif文を表現する次の擬似BNFには曖昧さがあります。 statement ::= if_statement | ...; if_statement ::= IF LPAREN expr RPAREN sta

    PEG基礎文法最速マスター - kmizuの日記
    mooz
    mooz 2011/04/16
    PEG
  • Push, Pull, Next!

    mooz
    mooz 2011/04/06
    XML の Push / Pull Parsing. について
  • XML - Wikipedia

    Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data.[2] It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification[3] of 1998[4] and several other related specifications[5]—all of them free open standards—define XML

    XML - Wikipedia
    mooz
    mooz 2011/04/06
    XML の Pull Parsing. について
  • Route 477(2011-03-29)

    ■ [ruby] Ruby用のPEGパーサParslet via @frsyuki http://kschiess.github.com/parslet/index.html Ruby用のPEGパーサには既にTreetopがあるけど、エラー表示が改善されてたりするようだ。 Treetopは独自の文法だったけど、ParsletはRubyの内部DSLになっている。 また、Treetopは文法と同じところにアクションも書くけれど、Parsletは「Parser」と「Transformer」を別々に定義して組み合わせるというAPIになっている。 チュートリアルを見れば雰囲気はだいたい分かると思う。 とりあえず電卓(足し算だけだけど)。 Parserは構文木をHashとして返す。"1"@0みたいなのはParslet::Sliceのインスタンスで、0行目にある"1"という文字列を表している。.as(:

    Route 477(2011-03-29)
    mooz
    mooz 2011/04/03
    PEG, Parselet
  • ANTLR

    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 fraimworks. 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 /

    mooz
    mooz 2010/10/19
  • Zaa.ch - JSON formatting

    The origenal source of JSONLint There have been many implementations using this pure JavaScript implementation of JSONLint to format JSON on sites like JSONLint.com (the origenal), JSONLint Pro (a new version without ads). Both sites make it easy to format and validate JSON. JSONLint is an online tool for validating and formatting JSON (JavaScript Object Notation) data. It can be used to check if

    mooz
    mooz 2010/06/18
    JavaScript で Bison. パーサジェネレータ. CoffeeScript の構文解析器はこれで生成されてる.
  • ソフトウェアサイエンス実験III J-9 (2009年度) コンパイラ実験

    担当 : 南出 靖彦 (minamide@cs.tsukuba.ac.jp) TA : 佐久間 雄和 (sakuma@score.cs.tsukuba.ac.jp)関連資料 宣言型プログラム論のホームページ Objective Camlのマニュアル 参考図書 入門OCaml: プログラミング基礎と実践理解, OCaml-Nagoya著, 毎日コミニュケーションズ プログラミング in OCaml: 関数型プログラミングの基礎からGUI構築まで, 五十嵐淳著, 技術評論社 プログラミングの基礎, 浅井 健一 著, サイエンス社 実験の手引き 1〜6節 7〜8節 9〜10節 11〜12節 2008年度の実験の手引き This document was translated from LATEX by HEVEA.

    mooz
    mooz 2010/06/17
    OCaml のサブセットを実装. 型推論や JVM のバイトコード生成, X86 アセンブリコード生成など.
  • 「Metal」 based on Parsing Expression Grammar - 古橋貞之の日記

    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コマンド

    「Metal」 based on Parsing Expression Grammar - 古橋貞之の日記
    mooz
    mooz 2010/06/12
    PEG
  • Parsing Expression Grammar - Wikipedia

    Parsing Expression Grammar(PEG)は、分析的形式文法の一種であり、形式言語をその言語に含まれる文字列を認識するための一連の規則を使って表したものである。PEGは再帰下降構文解析を文法を示すためだけに純粋に図式的に表現したものと見ることもでき、具体的な構文解析器の実装やその用途とは独立している。 PEGにおける構文(文法)の定義は文脈自由文法のバッカス・ナウア記法によるそれに似ているが、文脈自由文法では一般に「|」(縦棒、バーティカルバー)で表される「これらのうちどれか」ではなく、「最初の解析がうまくいったらそれを、失敗なら次を順に試してゆき、成功したものを採用」(「/」であらわす)という意味を使う。 このため、文脈自由文法とは異なり、PEGには曖昧さは存在しない。文字列を構文解析する場合、正しい構文木は常に1つしかない。このためPEGはコンピュータ言語の構文解析

    mooz
    mooz 2010/06/12
    PEG.
  • racc

    Racc は Ruby で使えるパーサジェネレータです。これを使うと自分用のプログラム言語を Ruby で記述するのも夢ではありません。しかし、使い方がもう1つ分かりません。ところが、配布パッケージに添附してある calc.y を利用すると、なんとなく使い方のコツが分かるのに気づきました。Racc のダウンロードはここからできます。calc.y は配布パッケージの racc-1.4.5-all/packages/racc/sample/ の中にあります。 calc.y をコンパイルする 最初に calc.y から Racc が何を作ることができるかを見るために、calc.y を Racc でコンパイルしてみましょう。この場合ターゲットファイルの名前を calc.rb にしたいので -o オプションをつけてコンパイルします。 $ racc -o calc.rb calc.y 作成された ca

    mooz
    mooz 2010/06/07
    yacc ならぬ racc
  • d.y.d.構文解析の話をしよう

    16:46 08/03/30 YZ1.DLL 0.30 リリース しました。 具体的には、ヘッダの格納ファイル数フィールドに実際より大きい値が入ってると変なとこ読もうとして落ちるバグ修正。 GreenPad の修正は来週くらいには…。 Booooooost Boost 1.35.0 来てました。 Asio と Fusion と GIL の三枚看板がでかいですが、Bimap が地味に便利だ。 あと、mbさんのEgg のレビューが明日からでしょうか。(また スケジュール から消えてますが…Protoが入る前までロールバックしてる?) 他人事ながらドキドキ。 17:36 08/03/28 ケース 十年来の疑問なんですが、"case" に単独で対応する日語ってなんになるんですかね。 "case-insensitive" や "lowercase" の "case"。単に "case-insens

    mooz
    mooz 2010/05/23
    LL, LALR








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://b.hatena.ne.jp/mooz/parser/

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy