2016-11-23 5 views
0

(X = 100 및 Y < 100)과 같은 간단한 부울 식의 구문을 검사해야하므로 문법을 작성하고 이것이 올바른지 확인하려고 했으므로이 온라인을 사용하고 있습니다 도구 http://smlweb.cpsc.ucalgary.ca/start.html. 문법이 잘못되었다고 말하는 것입니다.문법을 생성하지 못했습니다.

누군가가 여기에서 문제를 지적 할 수 있습니까? 미리 감사드립니다.

boolean  -> bool_term | boolean OR bool_term 
bool_term  -> bool_factor | bool_term AND bool_factor 
bool_factor -> bool_primary | NOT bool_primary 
bool_primary -> predicate | (boolean) 
predicate  -> expr comp_op expr 
expr   -> string | number. 
comp_op  -> = | > 
+0

에 오신 것을 환영합니다! 내 대답이 당신을 위해 일하는 경우, 그것을 받아 들인 것으로 표시하는 것을 고려하십시오. 그렇지 않은 경우 댓글을 달아주세요. –

답변

1

대부분이 서비스의 바보 같은 구문입니다. 예를 들어 문자 =>은 지원되지 않으며 문자를 이스케이프 할 수 없습니다.

이 문법 작동 :에 StackOverflow에

BOOLEAN  -> BOOLTERM | BOOLEAN or BOOLTERM . 
BOOLTERM  -> BOOLFACTOR | BOOLTERM and BOOLFACTOR . 
BOOLFACTOR -> BOOLPRIMARY | not BOOLPRIMARY . 
BOOLPRIMARY -> PREDICATE | (BOOLEAN) . 
PREDICATE  -> EXPR COMPOP EXPR . 
EXPR   -> string | number . 
COMPOP  -> eq | gt . 
관련 문제