I want to write a parser to parse the string like this:<br> <a href="http://a.id">a.id</a> = <a href="http://b.id">b.id</a><br> <a href="http://a.id">a.id</a> = 10<br><br>My yrl file like this:<br><i>Nonterminals<br> val expr alias field.<br>
<br>Terminals<br> '=' '>' '>=' '<=' '<' '!=' '.' 'atom'<br> 'num'.<br><br>Rootsymbol<br> expr.<br><br>expr->val '=' val:['$1', '$3', {'opt', '='}].<br>
expr->val '>' val:['$1', '$3', {'opt', '>'}].<br>expr->val '>=' val:['$1', '$3', {'opt', '>='}].<br>expr->val '<' val:['$1', '$3', {'opt', '<'}].<br>
expr->val '<=' val:['$1', '$3', {'opt', '<='}].<br>expr->val '!=' val:['$1', '$3', {'opt', '!='}].<br><br>val->alias '.' field:{'$1', '$3'}.<br>
val->num:{'num', '$1'}.<br><br>alias->atom:{'alias', '$1'}.<br>field->atom:{'field', '$1'}.</i><br><br>it is ok for "<a href="http://a.id">a.id</a>=<a href="http://b.id">b.id</a>":<br>
<i>{ok,[{{alias,{atom,1,a}},{field,{atom,1,id}}},<br> {{alias,{atom,1,b}},{field,{atom,1,id}}},<br> {opt,'='}]}</i><br><br>and it is ok for "<a href="http://a.id">a.id</a>=b":<i><br>{ok,[{{alias,{atom,1,a}},{field,{atom,1,id}}},<br>
{num,{atom,1,a}},<br> {opt,'='}]}</i><br><br>but it error for "<a href="http://a.id">a.id</a>=12":<br><i>{error,{1,my_parser,["syntax error before: ","12"]}}</i><br><br>what is wrong with my yrl file?<br>