JavaCC에서 선택 충돌. 3 개 이상의 미리보기 사용 고려

아이도

현재 간단한 프로그래밍 언어를위한 파서를 구축하려고합니다. 파서는 잘 생성되지만 다음 경고를 표시합니다.

Warning: Choice conflict involving two expansions at
         line 238, column 7 and line 239, column 7 respectively.
         A common prefix is: "(" "("
         Consider using a lookahead of 3 or more for earlier expansion.

오류가 발생하는 코드는 다음과 같습니다.

void condition(): {}
{
    <NOT> condition() condition_prime()
    | <LPAREN> condition() <RPAREN> condition_prime()
    | expression() compare_ops() expression() condition_prime()
}

void condition_prime(): {}
{
    logical_ops() condition() condition_prime() | {}
}

왼쪽 재귀를 제거하기 위해 이렇게했지만 이제 경고가 발생합니다. 이 경고를 피할 수있는 방법이 있습니까?

expression()비 터미널 을 빌드하는 코드 는 다음과 같습니다.

void expression(): {}
{
    fragment() expression_prime()
}

void expression_prime(): {}
{
    binary_arith_op() fragment() expression_prime() | {}
}

void fragment(): {}
{
    <ID> (<LPAREN> args_list() <RPAREN>)?
    | <MINUS> <ID> 
    | <NUM> 
    | <DIGIT> 
    | <TRUE> 
    | <FALSE> 
    | <LPAREN> expression() <RPAREN>
}
Theodore Norvell

선택 충돌이 발생하는 이유는 비 터미널의 정의에 condition3 개의 선택이 있고 두 번째와 세 번째는 모두 <LPAREN>. 가 있기 때문이다 expression시작할 수 있습니다 <LPAREN>.

오류 메시지는 3 개 이상의 미리보기 사용을 제안합니다. 그러나 예측 금액을 유한 수로 변경하는 것만으로는 충분하지 않습니다. 예를 들어 17로 변경하면 condition왼쪽 괄호 시작하고 그 뒤에 토큰 길이가 16 개 이상인 표현식이 나오면 충분하지 않습니다 .

구문 미리보기로 문제를 해결할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JavaCC 문법에서 선택 충돌의 원인 찾기

분류에서Dev

JavaCC 선택 충돌 경고

분류에서Dev

JavaCC 선택 충돌 경고

분류에서Dev

2 개 이상의 표에서 최근 3 개의 기사보기를 선택하거나 만듭니다.

분류에서Dev

SwiftUI 앱이 두 개의 선택기 주변에서 VStack과 충돌합니다.

분류에서Dev

선택 사례에서 3 개의 문을 결합하려고합니다.

분류에서Dev

레이아웃에 4 개 이상의 이미지를 추가하려고하면 앱이 충돌합니다.

분류에서Dev

3D에서 쿼드 스프라이트 캐릭터의 경우 사용할 충돌 오브젝트, 메시 충돌기 또는 상자 충돌기

분류에서Dev

3D에서 쿼드 스프라이트 캐릭터의 경우 사용할 충돌 오브젝트, 메시 충돌기 또는 상자 충돌기

분류에서Dev

(...) * 구문에서 JAVACC ERROR 선택 충돌

분류에서Dev

SwiftUI 미리보기에서 재사용 가능한 색상 확장 충돌

분류에서Dev

이미지를 선택하지 않고 갤러리에서 돌아갈 때 앱이 충돌 함

분류에서Dev

충돌없이 MySQL에서 몇 개의 행을 선택하고 업데이트합니다.

분류에서Dev

이미지 선택기를 사용하여 2 개의 다른 이미지보기 (swift3)에 사진 저장

분류에서Dev

장면에서 기본 64 개 이상의 충돌체를 허용하도록 GrabPointer 프리 팹을 수정하려면 어떻게해야합니까?

분류에서Dev

"select * from"을 사용하여 mysql 데이터베이스에서 충돌 예약을 선택하고 식별

분류에서Dev

"세부 정보 창"또는 "미리보기 창"이 활성화 된 상태에서 Office 문서 (.docx, .xlsx)를 선택하면 Windows 탐색기가 충돌 함

분류에서Dev

"세부 정보 창"또는 "미리보기 창"이 활성화 된 상태에서 Office 문서 (.docx, .xlsx)를 선택하면 Windows 탐색기가 충돌 함

분류에서Dev

선택기 레이블에서 ProgressView 숨기기를 사용할 때 충돌이 발생합니다.

분류에서Dev

미리보기 모드에서 WPF를 사용하는 C #의 Windows 화면 보호기 충돌

분류에서Dev

입력에 3 개 이상의 값을 사용하려고 할 때 ValueError

분류에서Dev

테이블에서 상위 3 개의 고유 레코드 선택

분류에서Dev

목록보기에서 선택한 항목을 변경하려고하면 프로그램이 충돌합니다.

분류에서Dev

3 개의 MySQL 테이블에서 게시물, 사용자 세부 정보 및 투표 선택

분류에서Dev

SQL GROUP BY를 사용하여 3 개의 테이블에서 데이터 선택

분류에서Dev

JQuery 기반 선택 메뉴에서 D3 및 JQuery 클릭 이벤트 충돌

분류에서Dev

때 재활용보기 응용 프로그램 충돌에서 동시에 두 개의 항목을 선택, 내가 어떻게이 문제를 해결할 수 있습니까?

분류에서Dev

Server Management Studio의 쿼리 + ssrs 보고서의 테이블 +-상관 된 하위 쿼리와 함께 선택 사용

분류에서Dev

선택한 이미지를 가져오고 UITableView의 Nib 별 UITableViewCell (사용자 지정 셀)로드에서 상세보기로 이동하는 방법

Related 관련 기사

  1. 1

    JavaCC 문법에서 선택 충돌의 원인 찾기

  2. 2

    JavaCC 선택 충돌 경고

  3. 3

    JavaCC 선택 충돌 경고

  4. 4

    2 개 이상의 표에서 최근 3 개의 기사보기를 선택하거나 만듭니다.

  5. 5

    SwiftUI 앱이 두 개의 선택기 주변에서 VStack과 충돌합니다.

  6. 6

    선택 사례에서 3 개의 문을 결합하려고합니다.

  7. 7

    레이아웃에 4 개 이상의 이미지를 추가하려고하면 앱이 충돌합니다.

  8. 8

    3D에서 쿼드 스프라이트 캐릭터의 경우 사용할 충돌 오브젝트, 메시 충돌기 또는 상자 충돌기

  9. 9

    3D에서 쿼드 스프라이트 캐릭터의 경우 사용할 충돌 오브젝트, 메시 충돌기 또는 상자 충돌기

  10. 10

    (...) * 구문에서 JAVACC ERROR 선택 충돌

  11. 11

    SwiftUI 미리보기에서 재사용 가능한 색상 확장 충돌

  12. 12

    이미지를 선택하지 않고 갤러리에서 돌아갈 때 앱이 충돌 함

  13. 13

    충돌없이 MySQL에서 몇 개의 행을 선택하고 업데이트합니다.

  14. 14

    이미지 선택기를 사용하여 2 개의 다른 이미지보기 (swift3)에 사진 저장

  15. 15

    장면에서 기본 64 개 이상의 충돌체를 허용하도록 GrabPointer 프리 팹을 수정하려면 어떻게해야합니까?

  16. 16

    "select * from"을 사용하여 mysql 데이터베이스에서 충돌 예약을 선택하고 식별

  17. 17

    "세부 정보 창"또는 "미리보기 창"이 활성화 된 상태에서 Office 문서 (.docx, .xlsx)를 선택하면 Windows 탐색기가 충돌 함

  18. 18

    "세부 정보 창"또는 "미리보기 창"이 활성화 된 상태에서 Office 문서 (.docx, .xlsx)를 선택하면 Windows 탐색기가 충돌 함

  19. 19

    선택기 레이블에서 ProgressView 숨기기를 사용할 때 충돌이 발생합니다.

  20. 20

    미리보기 모드에서 WPF를 사용하는 C #의 Windows 화면 보호기 충돌

  21. 21

    입력에 3 개 이상의 값을 사용하려고 할 때 ValueError

  22. 22

    테이블에서 상위 3 개의 고유 레코드 선택

  23. 23

    목록보기에서 선택한 항목을 변경하려고하면 프로그램이 충돌합니다.

  24. 24

    3 개의 MySQL 테이블에서 게시물, 사용자 세부 정보 및 투표 선택

  25. 25

    SQL GROUP BY를 사용하여 3 개의 테이블에서 데이터 선택

  26. 26

    JQuery 기반 선택 메뉴에서 D3 및 JQuery 클릭 이벤트 충돌

  27. 27

    때 재활용보기 응용 프로그램 충돌에서 동시에 두 개의 항목을 선택, 내가 어떻게이 문제를 해결할 수 있습니까?

  28. 28

    Server Management Studio의 쿼리 + ssrs 보고서의 테이블 +-상관 된 하위 쿼리와 함께 선택 사용

  29. 29

    선택한 이미지를 가져오고 UITableView의 Nib 별 UITableViewCell (사용자 지정 셀)로드에서 상세보기로 이동하는 방법

뜨겁다태그

보관