Submit Search
Upload
Nora mark 2014-02-13
•
0 likes
•
500 views
Satoshi KOJIMA
Follow
パーサー勉強会向け資料です
Read less
Read more
Software
Report
Share
Report
Share
1 of 14
Download now
Download to read offline
Recommended
20120427西区勉強会
20120427西区勉強会
Junji Manno
20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ
Yasuhiro Araki, Ph.D
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
Kentaro Matsui
ロリポップと簡単インストールについて|ゼロから始めるWordPress勉強会
ロリポップと簡単インストールについて|ゼロから始めるWordPress勉強会
Yoshinori Kobayashi
はじめてのWordPress勉強会 vol.07 バックアップ
はじめてのWordPress勉強会 vol.07 バックアップ
MoritaMasahiro
Chesapeake bay
Chesapeake bay
whitmers
Radio Telescope. by BIPLAB DAS
Radio Telescope. by BIPLAB DAS
Biplab Das
Finished infrared telescope project power point
Finished infrared telescope project power point
whitmers
Recommended
20120427西区勉強会
20120427西区勉強会
Junji Manno
20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ
Yasuhiro Araki, Ph.D
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
Kentaro Matsui
ロリポップと簡単インストールについて|ゼロから始めるWordPress勉強会
ロリポップと簡単インストールについて|ゼロから始めるWordPress勉強会
Yoshinori Kobayashi
はじめてのWordPress勉強会 vol.07 バックアップ
はじめてのWordPress勉強会 vol.07 バックアップ
MoritaMasahiro
Chesapeake bay
Chesapeake bay
whitmers
Radio Telescope. by BIPLAB DAS
Radio Telescope. by BIPLAB DAS
Biplab Das
Finished infrared telescope project power point
Finished infrared telescope project power point
whitmers
Designing data intensive applications-ch4
Designing data intensive applications-ch4
Motohiro Kanda
2020 acl learning_to_recover_from_multi-modality_errors_for_non-autoregressiv...
2020 acl learning_to_recover_from_multi-modality_errors_for_non-autoregressiv...
広樹 本間
第1回python勉強会
第1回python勉強会
Yoshio Shimomura
read parse-css
read parse-css
Satoshi KOJIMA
20150513 legobease
20150513 legobease
Takeshi Yamamuro
Powershell基礎_20180521用
Powershell基礎_20180521用
Tetsu Yama
More Related Content
Similar to Nora mark 2014-02-13
Designing data intensive applications-ch4
Designing data intensive applications-ch4
Motohiro Kanda
2020 acl learning_to_recover_from_multi-modality_errors_for_non-autoregressiv...
2020 acl learning_to_recover_from_multi-modality_errors_for_non-autoregressiv...
広樹 本間
第1回python勉強会
第1回python勉強会
Yoshio Shimomura
read parse-css
read parse-css
Satoshi KOJIMA
20150513 legobease
20150513 legobease
Takeshi Yamamuro
Powershell基礎_20180521用
Powershell基礎_20180521用
Tetsu Yama
Similar to Nora mark 2014-02-13
(6)
Designing data intensive applications-ch4
Designing data intensive applications-ch4
2020 acl learning_to_recover_from_multi-modality_errors_for_non-autoregressiv...
2020 acl learning_to_recover_from_multi-modality_errors_for_non-autoregressiv...
第1回python勉強会
第1回python勉強会
read parse-css
read parse-css
20150513 legobease
20150513 legobease
Powershell基礎_20180521用
Powershell基礎_20180521用
Nora mark 2014-02-13
1.
NoraMark 新Transformer 小嶋智 @skoji 2014年2月13日 第二回パーサー勉強会
2.
NoraMark • EPUB制作(主に雑誌的な)で困って作った • プレーンテキスト
+ α • kpeg使っています • マークアップ結果の出力をカスタマイズできる
3.
実例
4.
特徴 • パターン化された文法: 原則として以下の3つ •
ブロック構文 • 一行構文 • インライン構文 • このほかに、Markdownぽいものがいくつか。
5.
パターン 「コマンド部分」は共通 command-name#id.class(parameter)[named: parameter]
6.
パースすれば単なるツリーになる
7.
木の変形 • ソーステキストをパースしてASTを作る • ASTを変換してXHTMLにほぼ対応する木を作る •
出力する
8.
• 「XHTMLに対応する木を作る」部分にプラグイン を差し込める • 特定の条件を満たすノードを、専用のルールで XHTMLに変形するルールを書く •
Transformerと呼んでいます
9.
10.
11.
課題 • APIがださい • マークアップのカスタマイズ(変形ルール)をRuby で書かないといけない •
JavaScriptにポート中のNoraMarkには Tranformerを流用できない
12.
解決案 • 変形ルールもNoraMarkの文法で書く • XSLTからの連想
13.
@@transformer { @replace(speak) { div
{ [span.speaker{[@parameters(0)]}] [@content] } } }@@ speak(Alice): Alice is speaking. speak(Bob): and this is Bob.
14.
実装中 • 実装はできそう • 文法に悩んでいます •
というか筋悪くない? 大丈夫?
Download now