Goで実装する軽量マークアップ言語パーサー accepted

Abstract

軽量マークアップ言語・はてな記法のGo言語によるパーサー実装を基に、パーサーを実装一般に関する基礎から軽量マークアップ言語のパーサーを実装する際の実践的な知識を紹介します。


2017年、計算機資源が豊かになり画像や動画を用いたリッチなコンテンツが身近になった一方で、Web上でテキストコンテンツの存在感は衰えていません。

MarkdownやTextile, org-modeなど軽量マークアップ言語と呼ばれる記法は様々なサービスやアプリケーションでサポートされており、開発者であるかに関わらずコンピューターで文書を書く人々に広く利用されています。

テキストコンテンツの価値と共にテキスト処理の重要性が認められている一方で、パーサーの実装は実態以上に敷居が高いものと見なされる傾向があり、正規表現などと比べるとツールとして用いられる範囲はやや限定的です。

パーサーを取り巻くこうした状況は、チュートリアルではSQLや四則演算など簡潔かつ形式的な定義に対する実装に留まり、一方で応用例を見るとプログラミング言語処理系のような巨大かつ泥臭い例に飛躍しており、ほどよい規模のコード例に乏しい点に由来すると考えています。

そこで、このトークではGo言語で軽量マークアップ言語のひとつであるはてな記法のパーサーを実装した経験を基に、パーサーの基礎的な知識から軽量マークアップ言語を実装するための少し進んだ知識や苦労した点を紹介し、パーサーやテキスト処理の魅力をお伝えしたいと思います。

話したいこと:

  • 軽量マークアップ言語に後付けで形式的な定義を試みる方法
  • 先読みとレキサー・パーサーの分離を両立させる方法

Session Information
Confirmed confirmed
Material Level Beginner
Starts On 8/4/17, 2:30 PM
Room Multi-Purpose Room 2
Session Duration 60 min
Spoken Language Japanese
Interpretation Unavailable
Slide Language Japanese
Photo Release Allow
Recording Release Allow
Materials Release Allow