2011-09-27 5 views
2

시도하고있는 lex/yacc 솔루션을 배포하고 있는데 grammar입니다. % 전자의 납입을solaris lex 오류

어떤 도움을 사용하여 나무가 너무 큰 시도를 구문 분석 오류 :이 오류 렉스 -t "file.lex"

:이 명령을 사용하여 .lex이다 파일을 컴파일 할 때 문제는 온다 제발 thnks.

+0

문법은 flex 2.5.35의 Linux에서 잘 작동합니다. 어떤 렉스 버전을 사용하고 있습니까? 그것은 pkg에서 온 것인가? GNU flex를 설치할 수 있습니까? –

+0

'lex '이 말하는 것을 따라하기 위해 실제로 _tried_ 했습니까? 즉 문법의 시작 부분에 단순히 "% e2000"(구문 분석 트리 크기를 두 배로)을 추가 했습니까? –

+0

@MartinCarpenter는 응답을 요구했지만 실제로이 코드는 cygwin에서 flex 2.4에서 잘 작동하지만 solaris에서는 잘 작동하지 않습니다. 나는 솔라리스에서 lex의 버전을 확인했다. lex SGU solaris elf 4.0.it은 그것과 호환되어야한다고 말했다. 스 – Aymanadou

답변

1

필자는 비슷한 lex (lex -V과 동일한 출력을 가짐)이 문법이 변경되지 않은 채로 (Solaris 10/SPARC) 잘 작동하므로 패치가 필요할 것으로 생각됩니다. 아래 출력 pkginfo.

$ pkginfo -l SUNWbtool 
    PKGINST: SUNWbtool 
     NAME: CCS tools bundled with SunOS 
    CATEGORY: system 
     ARCH: sparc 
    VERSION: 11.10.0,REV=2005.01.21.15.53 
    BASEDIR:/
    VENDOR: Sun Microsystems, Inc. 
     DESC: software development utilities, including ar, dis, dump, elfdump, lex, lorder, mcs, nm, prof, ranlib, rpcgen, size, strip, tsort, and yacc 
    PSTAMP: on10ptchfeat20090911051613 
    INSTDATE: Mar 15 2011 15:46 
    HOTLINE: Please contact your local service provider 
    STATUS: completely installed 
    FILES:  48 installed pathnames 
        8 shared pathnames 
        2 linked files 
        8 directories 
        24 executables 
       1874 blocks used (approx) 

$