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

남자

나는 처음으로 javacc를 사용하고 있습니다.

이 오류가 계속 발생합니다.

Warning: Choice conflict in (...)* construct at line 35, column 43.
     Expansion nested within construct and expansion following construct
     have common prefixes, one of which is: <SPACE>
     Consider using a lookahead of 2 or more for nested expansion.

나는 이것을 조사했고 파서가 가장 적절한 것을 알지 못하는 선택 때문이라는 것을 알았습니다.

void l_zero() : {} {
 TOKEN1 ( TOKEN2 TOKEN1)*  
}

(이 줄 바로 전에 오류가 발생합니다. 누구나 제발 제대로 이해하도록 도와 줄 수 있습니까?

Theodore Norvell

당신은 (내 생각)

void l_zero() : {} {
    <TOKEN1> ( <SPACE> <TOKEN1> )*  
}

문제는 a <SPACE>l_zero. 예를 들어 어딘가에 이와 같은 프로덕션이있을 수 있습니다.

void someNonterminal() : {} {
    l_zero() <SPACE> <YETANOTHERTOKEN>
}

l_zero시작할 때 남은 입력이 다음과 같다고 가정합니다.

<SOMETOKEN> <SPACE> ...

소비 후 <SOMETOKEN>파서는 루프에 들어갈 지에서 반환할지 결정해야합니다 l_zero. 다음 토큰을 기준으로 결정할 수 없습니다. 이것이 오류 메시지가 알려주는 것입니다.


무엇을해야합니까?

a l_zero뒤에 오는 공백 뒤에 a가 올 수없는 경우 <TOKEN1>입니까? 그렇다면 파서는 다음 두 토큰을 기반으로 루프에 들어갈 지 여부를 결정할 수 있습니다. 다음 중 하나로 충돌을 해결할 수 있습니다.

void l_zero() : {} {
    <TOKEN1> ( LOOKAHEAD(2) <SPACE> <TOKEN1> )*  
}

또는

void l_zero() : {} {
    <TOKEN1> ( LOOKAHEAD(<SPACE> <TOKEN1>) <SPACE> <TOKEN1> )*  
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JavaCC 선택 충돌 경고

분류에서Dev

JavaCC 선택 충돌 경고

분류에서Dev

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

분류에서Dev

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

분류에서Dev

javacc 문법 충돌 토큰

분류에서Dev

C ++ 문제 : 충돌 선언

분류에서Dev

다운로드에서 파일을 선택할 때 충돌

분류에서Dev

Wordpress에서 테마 CSS 선택 요소 충돌

분류에서Dev

Windows 8.1 앱에서 폴더 선택기 충돌

분류에서Dev

실제 장치에서 PDF를 선택할 때 iOS 문서 선택기가 충돌 함

분류에서Dev

Swift 3.0의 선택적 문자열로 인한 충돌

분류에서Dev

PostgreSQL의`충돌 업데이트시 선택 삽입`문장에서 선택한 행을 참조하는 방법

분류에서Dev

충돌하는 특성 구현에서 선호하는 구현 선택 (음수 경계 사용)

분류에서Dev

Qt 충돌 선택 상자

분류에서Dev

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

분류에서Dev

RadioButton 선택기에서 AppCompat 벡터 드로어 블이 충돌했습니다.

분류에서Dev

javacc에서 HTML 구문 분석

분류에서Dev

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

분류에서Dev

Jquery 문 충돌

분류에서Dev

선택한 행의 Apple Watch Table 충돌

분류에서Dev

이미지 선택시 앱 충돌

분류에서Dev

충돌 파일의 충돌 영역에서만 "우리"를 선택적으로 "git checkout --ours"수행 할 수 있습니까?

분류에서Dev

if 문에서 앱 충돌

분류에서Dev

git rebase 중에 충돌을 해결할 때 한 분기에서 파일을 어떻게 선택합니까?

분류에서Dev

Windows PC에서 '설치하지 않고 시도'를 선택한 후 Ubuntu 12.04가 충돌 함

분류에서Dev

SwiftUI 목록에서 항목을 선택 취소하면 앱이 충돌합니다.

분류에서Dev

타이프 스크립트. v4에서 충돌하는 선택적 인수 확산

분류에서Dev

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

분류에서Dev

Windows PC에서 '설치하지 않고 시도'를 선택한 후 Ubuntu 12.04가 충돌 함

Related 관련 기사

  1. 1

    JavaCC 선택 충돌 경고

  2. 2

    JavaCC 선택 충돌 경고

  3. 3

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

  4. 4

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

  5. 5

    javacc 문법 충돌 토큰

  6. 6

    C ++ 문제 : 충돌 선언

  7. 7

    다운로드에서 파일을 선택할 때 충돌

  8. 8

    Wordpress에서 테마 CSS 선택 요소 충돌

  9. 9

    Windows 8.1 앱에서 폴더 선택기 충돌

  10. 10

    실제 장치에서 PDF를 선택할 때 iOS 문서 선택기가 충돌 함

  11. 11

    Swift 3.0의 선택적 문자열로 인한 충돌

  12. 12

    PostgreSQL의`충돌 업데이트시 선택 삽입`문장에서 선택한 행을 참조하는 방법

  13. 13

    충돌하는 특성 구현에서 선호하는 구현 선택 (음수 경계 사용)

  14. 14

    Qt 충돌 선택 상자

  15. 15

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

  16. 16

    RadioButton 선택기에서 AppCompat 벡터 드로어 블이 충돌했습니다.

  17. 17

    javacc에서 HTML 구문 분석

  18. 18

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

  19. 19

    Jquery 문 충돌

  20. 20

    선택한 행의 Apple Watch Table 충돌

  21. 21

    이미지 선택시 앱 충돌

  22. 22

    충돌 파일의 충돌 영역에서만 "우리"를 선택적으로 "git checkout --ours"수행 할 수 있습니까?

  23. 23

    if 문에서 앱 충돌

  24. 24

    git rebase 중에 충돌을 해결할 때 한 분기에서 파일을 어떻게 선택합니까?

  25. 25

    Windows PC에서 '설치하지 않고 시도'를 선택한 후 Ubuntu 12.04가 충돌 함

  26. 26

    SwiftUI 목록에서 항목을 선택 취소하면 앱이 충돌합니다.

  27. 27

    타이프 스크립트. v4에서 충돌하는 선택적 인수 확산

  28. 28

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

  29. 29

    Windows PC에서 '설치하지 않고 시도'를 선택한 후 Ubuntu 12.04가 충돌 함

뜨겁다태그

보관