1
我試圖編寫一個樹梢解析器來將一些乳膠命令解析爲HTML標記。隨着以下我得到生成的代碼deadspin。我已經建立與tt
的源代碼,並通過加強,但它並沒有真正闡明潛在的問題是什麼(它只是在_nt_paragraph旋轉)解析樹枝文件時樹梢無限循環
Test input: "\emph{hey} and some more text."
grammar Latex
rule document
(paragraph)* {
def content
[:document, elements.map { |e| e.content }]
end
}
end
# Example: There aren't the \emph{droids you're looking for} \n\n.
rule paragraph
(text/tag)* eop {
def content
[:paragraph, elements.map { |e| e.content } ]
end
}
end
rule text
(!(tag_start/eop) .)* {
def content
[:text, text_value ]
end
}
end
# Example: \tag{inner_text}
rule tag
"\\emph{" inner_text '}' {
def content
[:tag, inner_text.content]
end
}
end
# Example: \emph{inner_text}
rule inner_text
(!'}' .)* {
def content
[:inner_text, text_value]
end
}
end
# End of paragraph.
rule eop
newline 2.. {
def content
[:newline, text_value]
end
}
end
rule newline
"\n"
end
# You know, what starts a tag
rule tag_start
"\\"
end
end
隨意標記爲正確的答案。 –