2011-09-27 31 views
2

正在部署一個lex/yacc解決方案,嘗試使用此grammar。 問題是當我想用這個命令來編譯.lex文件:使用%E NUMsolaris lex error

任何幫助解析樹太大了嘗試:-t法「file.lex」

我得到這個錯誤:錯誤請thnks。

+0

語法正常工作在Linux上使用Flex 2.5.35。你用什麼版本的lex?它是從一個pkg,如果是的話,哪一個?你可以安裝GNU flex嗎? –

+0

實際上你是否已經_tried_遵循'lex'告訴你的內容,即只需在語法的開頭添加一個「%e2000」(將解析樹大小加倍)? –

+0

@MartinCarpenter爲響應,實際上這個代碼在cygwin中的flex 2.4中很好,但是solaris沒有。我檢查了solaris中的lex版本,它說lex SGU solaris elf 4.0.it應該與此兼容。 thnkss – 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) 

$