0
에 브래킷을 일치하는 방법, 내가 예를 들어, 쌍 브래킷을 일치하는 방법을 알고 :는 LALR (1) 파서 YACC
이expr: /* empty */
| '(' expr ')'
;
는 다음과 같은 입력과 일치 할 수
((()))
을하지만,
((() ()) () (() () ()))
이 큰 페어의 BRACKE 내부의 여러 쌍 괄호가 의미 : 나는이 같은 입력과 일치하는 규칙을 작성하는 방법을 잘 모르겠습니다 t는 같은 레벨에 입니다. 다음과 같은 간단한 예가 하나 있습니다.
(() ())
중첩 대괄호가 여러 개 있다고 가정하고 규칙을 작성하는 방법은 무엇입니까? 의 +에 표시된 것처럼 당신이 (다른 표현이없는 경우
expr: /* empty */
| expr '+' expr
| ...
| list-expr
list-expr: '(' expr ')'
| list-expr '(' expr ')'
: 당신을 가정
감사 :
당신은 여전히 같은 식별자 통화를 할 수있다. 이것은 많은 도움이됩니다. – user3220866