解析表現文法の開発支援のためのデバッガ

Bibliographic Information

Other Title
  • Implimenting a Debugger for Supporting Development of PEGs

Search this article

Abstract

パーサジェネレータは,形式文法に基づく生成的なパーサ開発法であり,今日,標準的に用いられている.しかし,パーサジェネレータの文法開発は,ベースとなる形式文法による特有の困難さがあり,必ずしも簡単な作業ではない.特にPEGは,LALRやLL法には存在しないネストされたバックトラックの発生が文法開発を困難にしている.本発表では,PEG文法開発を動的に支援するため,PEGデバッガを提案する.PEGデバッガは,独自のPEGインタプリタ上で動作し,ブレークポイント,スタックトレース,ステップ実行などの伝統的なデバッガの機能と,PEG特有の困難さに対する支援を行う機能がある.我々は,PEGデバッガをNez構文解析ツールライブラリの一部として実装し,いくつかの困難なデバッグに役立ったことを報告する.

Parser generators are generative parser development method based on formal grammar, they have been used as a standard method. However, grammar development of parser generators has unique difficulties in based grammars, it is not necessarily easy tasks. Especially, Parsing Expression Grammars are difficult to develop grammars because of nested backtrack that do not exist in the LALR and LL. In this presentation, we propose a PEG debugger to dynamically support the grammar development of PEGs. The PEG debugger operates on its own PEG interpreter. It has traditional functions such as breakpoints, stack trace and single stepping. In addition, it has functions for supporting PEG-specific difficulties. We implement the PEG debugger as part of Nez parser libraries and report that it has served to some difficult debugging.

Journal

Keywords

Details 詳細情報について

Report a problem

Back to top