여러 yacc 파서로 병렬 작성

토니 56

yacc를 사용하여 생성 된 여러 파서를 포함하는 프로젝트가 있습니다. 각 파서에는 다음과 같은 규칙이 있습니다.

xgram.c xgram.h : xgram.y
    yacc xgram.y
    mv y.tab.c xgram.c
    mv y.tab.h xgram.h

이것을 실행하면 make각 파서가 순서대로 생성되므로 잘 작동합니다.

그러나 함께 실행하면 각 문법에 대한 명령 이 병렬로 자체 생성되므로 파일 make -j 10에 대한 충돌이 분명합니다 .y.tab.cy.tab.h

이것을 어떻게 피할 수 있습니까? 내가 발견하고 시도한 유일한 것은 TMPDIRyacc명령 줄에서 사용하여 작동하지 않는 다른 디렉토리에 출력 파일을 만드는 것입니다.

다른 아이디어가 있습니까?

미친 과학자

mv레시피 에서 명령 을 잘못 입력 하셨을 것입니다.

가있는 경우 bison다른 답변을 참조하십시오.

의 버전 yacc이 POSIX와 호환 -b되는 경우 옵션을 지원해야합니다. 이 경우 다음을 사용할 수 있습니다.

xgram.c xgram.h : xgram.y
        yacc -b xgram -d xgram.y
        mv xgram.tab.c xgram.c
        mv xgram.tab.h xgram.h

POSIX yacc사용하지 않는 경우 다음 과 같이 해킹 할 수 있습니다.

xgram.c xgram.h : xgram.y
        mkdir -p tmp_xgram
        (cd tmp_xgram && yacc -d ../xgram.y && mv y.tab.c ../xgram.c && mv y.tab.h ../xgram.h)
        rm -rf tmp_xgram

그게 효과가있을 것 같아요 그래도 불만이 있다면 ../xgram.y먼저 임시 디렉토리 에 실제로 복사해야 할 수도 있습니다 .

GNU make 4.3을 사용 xgram.c xgram.h &: xgram.y하는 경우보다 정확한 규칙을 얻는 데 사용할 수 있습니다.:

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

반 병렬로 여러 작업 실행

분류에서Dev

여러 작업을 병렬로 실행

분류에서Dev

C / Lex / Yacc-Yacc를 사용하여 가장 기본적인 파서 생성기를 작성하는 방법

분류에서Dev

Python-병렬로 여러 큰 파일을 읽고 개별적으로 생성

분류에서Dev

여러 쌍의 동시 작업을 병렬로 실행

분류에서Dev

여러 맵 작업을 병렬로 실행

분류에서Dev

Makefile을 통해 병렬로 여러 방랑 상자 시작

분류에서Dev

VS Code 작업에서 병렬로 실행되도록 여러 명령 구성 (Sass 컴파일 및 자동 접두사)

분류에서Dev

Android에서 여러 파일을 병렬로 업로드

분류에서Dev

Azure Blob에서 병렬로 여러 파일 읽기

분류에서Dev

여러 파일에서 프로그램의 병렬 실행

분류에서Dev

여러 파일 정렬 및 병합

분류에서Dev

ant 종속성이 병렬로 여러 번 호출되는 것을 방지

분류에서Dev

여러 병렬 스레드에서 큰 데이터 세트를 읽는 성능

분류에서Dev

병렬로 여러 io.filesystemwatchers

분류에서Dev

병렬로 여러 값 계산

분류에서Dev

여러 AUC를 병렬로 비교 (R)

분류에서Dev

AsyncTask를 여러 번 병렬로 호출

분류에서Dev

Ant 스크립트를 작성하여 디렉토리에서 여러 입력을 입력하고 병렬로 실행하는 방법

분류에서Dev

Google 시트 : 작업을 여러 하위 작업으로 분할하여 병렬 업데이트

분류에서Dev

Oracle에서 동일한 작업을 여러 번 (병렬로) 실행하는 방법은 무엇입니까?

분류에서Dev

ipython이 여러 노드 세트에서 병렬로 작동 할 수 있습니까?

분류에서Dev

여러 작업 실행 : 병렬 및 직렬 조합

분류에서Dev

단일 소스에서 여러 대상으로 병렬 파일 복사?

분류에서Dev

동일한 실행 파일을 병렬로 여러 번 실행

분류에서Dev

GNU 병렬로 파이썬에 여러 매개 변수 전달

분류에서Dev

.NET 병렬 파일 생성

분류에서Dev

PHP에서 병렬로 여러 프로세스 실행

분류에서Dev

병렬 작업을 코드로 연결하는 셀러리

Related 관련 기사

  1. 1

    반 병렬로 여러 작업 실행

  2. 2

    여러 작업을 병렬로 실행

  3. 3

    C / Lex / Yacc-Yacc를 사용하여 가장 기본적인 파서 생성기를 작성하는 방법

  4. 4

    Python-병렬로 여러 큰 파일을 읽고 개별적으로 생성

  5. 5

    여러 쌍의 동시 작업을 병렬로 실행

  6. 6

    여러 맵 작업을 병렬로 실행

  7. 7

    Makefile을 통해 병렬로 여러 방랑 상자 시작

  8. 8

    VS Code 작업에서 병렬로 실행되도록 여러 명령 구성 (Sass 컴파일 및 자동 접두사)

  9. 9

    Android에서 여러 파일을 병렬로 업로드

  10. 10

    Azure Blob에서 병렬로 여러 파일 읽기

  11. 11

    여러 파일에서 프로그램의 병렬 실행

  12. 12

    여러 파일 정렬 및 병합

  13. 13

    ant 종속성이 병렬로 여러 번 호출되는 것을 방지

  14. 14

    여러 병렬 스레드에서 큰 데이터 세트를 읽는 성능

  15. 15

    병렬로 여러 io.filesystemwatchers

  16. 16

    병렬로 여러 값 계산

  17. 17

    여러 AUC를 병렬로 비교 (R)

  18. 18

    AsyncTask를 여러 번 병렬로 호출

  19. 19

    Ant 스크립트를 작성하여 디렉토리에서 여러 입력을 입력하고 병렬로 실행하는 방법

  20. 20

    Google 시트 : 작업을 여러 하위 작업으로 분할하여 병렬 업데이트

  21. 21

    Oracle에서 동일한 작업을 여러 번 (병렬로) 실행하는 방법은 무엇입니까?

  22. 22

    ipython이 여러 노드 세트에서 병렬로 작동 할 수 있습니까?

  23. 23

    여러 작업 실행 : 병렬 및 직렬 조합

  24. 24

    단일 소스에서 여러 대상으로 병렬 파일 복사?

  25. 25

    동일한 실행 파일을 병렬로 여러 번 실행

  26. 26

    GNU 병렬로 파이썬에 여러 매개 변수 전달

  27. 27

    .NET 병렬 파일 생성

  28. 28

    PHP에서 병렬로 여러 프로세스 실행

  29. 29

    병렬 작업을 코드로 연결하는 셀러리

뜨겁다태그

보관