1
간단한 bool 식을 구문 분석 할 문법을 만들려고합니다.
여러 표현식이있는 경우 문제가 발생합니다.
1..n
and/or
개의 표현식을 구문 분석 할 수 있어야합니다.ParseKit 문법을 사용하여 간단한 부울 식 언어를 구문 분석하는 방법
아래의 각 예는 완전한 표현 :
(myitem.isavailable("1234") or myitem.ispresent("1234")) and myitem.isready("1234")
myitem.value > 4 and myitem.value < 10
myitem.value = yes or myotheritem.value = no
문법 :
@start = conditionalexpression* | expressiontypes;
conditionalexpression = condition expressiontypes;
expressiontypes = expression | functionexpression;
expression = itemname dot property condition value;
functionexpression = itemname dot functionproperty;
itemname = Word;
propertytypes = property | functionproperty;
property = Word;
functionproperty = Word '(' value ')';
value = Word | QuotedString | Number;
condition = textcondition;
dot = '.';
textcondition = 'or' | 'and' | '<' | '>' | '=';
새 소식 나는 뭔가가 빠졌습니다. 나는 콜백 셋업을 가지고 있으며, 어셈블리를 출력 할 때리스트를 통해 포인터가 움직이는 것을 볼 수있다.하지만 표현의 끝 부분에 도달해도 여전히 콜백을 내고 최종 콜백은 완성 된 어셈블리가 아니다. 구문 분석이 표현식의 끝에 도달하면 어떻게 감지합니까? – user2187880
ParseKit 개발자가 여기 있습니다. 나는 이전에이 질문에 대답했다 : http://stackoverflow.com/a/10046316/34934 –
위의 무시 - 나는 괄호에 포함 된 표현에 따라 다양한 결과를 얻고있다. 가장 바깥 쪽의 괄호가 필요하지 않게하려면 어떻게해야합니까? – user2187880