Skip to content

Instantly share code, notes, and snippets.

View takahashim's full-sized avatar

Masayoshi Takahashi takahashim

View GitHub Profile
@takahashim
takahashim / eif_g.rnc
Created March 31, 2012 04:45
電子書籍交換フォーマットV1.1仕様書をエスパーして、そのスキーマ(推測)をRELAX NG Compact Syntaxで記述してみました。
# Schema for Global setting in E-book Interchange Format V1.1
#
# by Masayoshi Takahashi (@takahashim)
default namespace = "http://ebformat.jp"
datatype.integer = xsd:integer
datatype.vendor_name = text
datatype.charsets = text
datatype.page_direction = ('rl'|'rtl'|'lr'|'ltr')
class SymbolStack
class Error < StandardError
end
def initialize(max_size = 10)
@stack = []
@max_size = max_size
end
def size
@takahashim
takahashim / bvgz_text.rnc
Created April 19, 2012 12:15
XMDFのテキストオブジェクト実体のRelaxNG Compact Syntax表現(非公式、タグの入れ子関係のみで属性は無視)
####### XMDF記述フォーマットにおけるテキスト部分の構造の概観 ######
### bvfz300d.dtdを参考(というかそこからRelaxNG Compact形式に自動変換して一部を抜き出したもの)
# ====================================================================
### 注:以下ではタグの構造のみを分かりやすくするため、属性は全面的に無視している
## text_dataはXMDF用語では「テキストオブジェクト実体」となっている。
## これがXMDFでは複数個格納されているっぽい。
text_data = element text_data { text_body }
@takahashim
takahashim / mindoc.rnc
Created May 16, 2012 15:25
minimal document structure
start = html
html = element html { head, body }
head = element head { title | link+ }
link = element link { empty }
title = element title { text }
## 本文(body)はBlockのみではなくInlineも許す
body = element body { ( Block | Inline)+ }
## Blockは見出しのみ (hrはportability高いだけど必要性低いので基本セットからは削除、画像もまずはInlineで)
@takahashim
takahashim / mindoc-core.rnc
Created May 29, 2012 07:49
mindoc coreフォーマット定義案 (RelaxNG Compact形式)
# mindoc core (draft v0.1)
#
# mindoc(minimal document material description language)(仮)とは、文書素材を記述するための言語で、
# 一般的な書籍のための文字情報を記述するために必要最低限な要素すら網羅していない、単なる素材程度のものしか
# 記述できない・記述させない言語です。その代わり、さまざまなフォーマットへの変換・逆変換は行いやすくなって
# います(はずです。また逆変換は要素を削るので「縮退」と言った方がいいかも)。
#
# このmindoc coreは電子書籍交換フォーマットv1.1のだいたいサブセットになっています(はずです)。
# 名前空間は別にしましたが。
1, this, 17544
2, that, 15950
3, have, 9742
4, with, 9584
7, should, 5743
8, error, 4285
9, test, 4209
10, work, 4175
11, from, 4008
12, make, 3993
$ mvn exec:java -Dexec.mainClass="com.adobe.epubcheck.tool.Checker" -Dexec.args="-help"
[INFO] Scanning for projects...
[WARNING] The POM for org.eclipse.m2e:lifecycle-mapping:jar:1.0.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for org.eclipse.m2e:lifecycle-mapping:1.0.0: Plugin org.eclipse.m2e:lifecycle-mapping:1.0.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.eclipse.m2e:lifecycle-mapping:jar:1.0.0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building EpubCheck :: Validation Tool for EPUB 3.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for org.eclipse.m2e:lifecycle-mapping:jar:1.0.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for org.eclipse.m2e:lifecycle-mapping:1.0.0: P
wri.pe is a simple and smart web notepad.
wri.peは、カンタン・ベンリなメモ帳です
Access your notes
自分のメモ帳へ
Simple
シンプル
Are you tired of complexity? All you want is just taking notes? Then wri.pe is for you, we focus on simplicity
メモをとりたいだけなのに、面倒くさいのはイヤですか? wri.peなら簡単です。シンプルさにこだわっています

ReVIEW改訂計画(私案)

考えてみてるだけ。個人の見解です。確定事項は今のところ一切なし。

基本方針

  • 明確な文法
    • 何となくアドホックに処理してるところは全部明確なルール化をしたい
  • 穏やかな移行
  • 新規文法の追加
%% name = ReVIEW::Compiler::Literals
%% header {
##
# Provides Literals appropriate for your ruby version.
#--
# This set of literals is for Ruby 1.8 regular expressions.
}