[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

pegに関するtheatricalのブックマーク (4)

  • Peggy - The Parser Generator for Haskell

    Peggyとは PeggyはHaskell向けのパーザジェネレータです。 シンプルで扱いやすく、表現力のある Parsing expression grammer (PEG) を採用し、効率のよいPackrat parserを生成出来ます。 Parsing Expression Grammer Peggy は文法としてParsing Expression Grammer (PEG)を採用しています。 PEGには次のような特徴があります。 CFG (LL(1), LR(1), LALR(1), etc…) にある shift/reduce 競合が存在しない シンプルで表現力がある 無制限の先読みが可能、パーザとスキャナを分離する必要がない 入力長に対して線形時間での解析 PeggyはさらにPEGを拡張しています。 sepBy拡張構文 強力なエラー検出とわかりやすいエラーメッセージの生成 左再

  • GitHub - Engelberg/instaparse

    Instaparse aims to be the simplest way to build parsers in Clojure. Turns standard EBNF or ABNF notation for context-free grammars into an executable parser that takes a string as an input and produces a parse tree for that string. No Grammar Left Behind: Works for any context-free grammar, including left-recursive, right-recursive, and ambiguous grammars. Extends the power of context-free grammar

    GitHub - Engelberg/instaparse
  • http://bford.info/pub/lang/peg-slides.pdf

  • Parsing Expression Grammar - Wikipedia

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

    theatrical
    theatrical 2012/10/24
    他の言語がライブラリとかしかないなでPerl6だけ言語自体に組み込みとかかっこよすぎる
  • 1