2009-12-11 2 views
0

Я хочу сделать простой парсер JSP с помощью Treetop. Теперь у меня есть следующая проблема:Treetop: Как сделать комбинированное правило?

Моя основная грамматика для запуска является:

grammar Jspgrammar 
    rule jspToken 
     '<%' 
    end 

    rule jspPageToken 
     jspToken '@page' 
    end 
end 

jspToken должен соответствовать '<%' в то время как jspPageToken должны соответствовать '<% @ страницы'

Когда я пытаюсь это в IRB:

load 'jspgrammar.rb' 
    parser=JspgrammarParser.new 
    tree=parser.parse("<%") 
    => SyntaxNode offset=0, "<%" 

Но когда я пытаюсь

tree=parser.parse("<%@page") 
    => nil 

Что мне не хватает?

ответ