[英]ANTLR : AST, Java
我試圖在解析HTML文件后生成AST
。
grammar XHTML2CSV;
options {
output=AST;
ASTLabelType=CommonTree;
}
tokens {
CELLULE;
LIGNE;
CELLULEG = '<td>';
CELLULED = '</td>';
DEBUTCOL = '<tr>';
FINCOL = '</tr>';
DTAB = '<table';
STAB = ' align=\"center\"';
FTAB = ' border=\"1\">';
FINTAB ='</table>';
ligne
: DEBUTCOL cellule+ FINCOL -> ^(LIGNE cellule);
cellule : CELLULEG CHAINE CELLULED
-> ^(CELLULE CHAINE);
當我解析像這樣的東西時:
<tr>
<td>"Cellule 1"</td>
<td>"Cellule 2"</td>
<td>"Cellule 3"</td>
</tr>
我剛得到那棵樹:無--->檸檬--->纖維素--->“ Cellule 1”
我該怎么辦才能讓LIGNE的所有孩子都進入AST?
謝謝
似乎您在重寫規則中忘記了+
:
ligne
: DEBUTCOL cellule+ FINCOL -> ^(LIGNE cellule+)
; // ^
// |
// +--- ici!
僅供參考:ANTLR網站上有HTML語法: http : //www.antlr.org/grammar/HTML
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.