I가 하나 개 이상의 항목을 쉼표로 구분 된 목록에 대해 다음 문법 :Flex/Bison : 쉼표로 구분 된 연결된 목록?
column_expression_list:
column_expression {
$$ = LinkedList_New();
LinkedListItem *item = LinkedListItem_New($1);
LinkedList_add($$, item);
}
|
column_expression_list T_COMMA column_expression {
LinkedListItem *item = LinkedListItem_New($3);
LinkedList_add($1, item);
}
;
column_expression_list
항상 궁극적으로 아래로 column_expression
따라서 연결된 각 목록 항목에 휴식 항상 링크 된 목록에 안전하게 추가됩니다합니까 ?
그렇지 않은 경우 올바른 문법이 무엇일까요?
나는 괜찮아 보입니다. 개인적으로 목록에서 오른쪽 재귀를 사용했지만 ('column_expression T_COMMA column_expression_list') 대신. –
@ JoachimPileborg 제안으로 인해 충돌이 발생합니다. 그렇게하는 데 성과가 있습니까? –
물론'$ 1'과'$ 3'을 전환해야합니다. 다른 차이점은'column_expression' 노드가 추가 될 곳입니다. head 또는 tail. –