0
중첩 가능한 조건을 설명하고 싶습니다. 여기에 내가 함께 일하고 있어요 무엇 : 여기재귀 규칙에서 {}으로 일치하는 빈 요소를 무시합니다.
foo AND bar
대서양 표준시 : 나는 라인과 AST를 생성 할 수
expr = (/[_a-zA-Z][a-zA-Z0-9_-]*/) ;
condop = ("AND" | "OR") ;
condition = expr { condop condition } ;
start = condition ;
좋아
[
"foo",
[
[
"AND",
[
"bar",
[]
]
]
]
]
그러나 빈리스트 후이있다 "bar", 조건 규칙이 일치하는 마지막 시간을 추측하기 때문에 "condop condition"은 빈 문자열에 해당합니다. 문서 https://pypi.python.org/pypi/grako/3.16.0에 따르면 {}은 빈 목록을 생성합니다.
이런 일이 발생하지 않도록하는 방법이 있습니까?