2013-02-16 74 views
0

隨着antlr4 TestRig你可以用它來生成的PostScript -ps樹。我看不到我的樹ANTLR樹

後記:

%!PS-Adobe-3.0 EPSF-3.0 
%%BoundingBox: 0 0 54 48 

0.3 setlinewidth 
%% x y w h highlight 
/highlight { 
     4 dict begin 
     /h exch def 
     /w exch def 
     /y exch def 
     /x exch def 
     gsave 
     newpath 
     x y moveto 
     0 h rlineto  % up to left corner 
     w 0 rlineto  % to upper right corner 
     0 h neg rlineto % to lower right corner 
     w neg 0 rlineto % back home to lower left corner 
     closepath 
     .95 .83 .82 setrgbcolor 
     fill 
     grestore 
     end 
} def 
/ArialMT findfont 11 scalefont setfont 
27,662 32,395 moveto 
12,616 15,395 lineto 
27,662 32,395 moveto 
42,709 15,395 lineto 
25,831 37,395 moveto 
(r) show 
stroke 
1,000 5,000 moveto 
(hello) show 
stroke 
33,232 5,000 moveto 
(part) show 
stroke 
%%Trailer 

錯誤Ghostview工具:

GSview 5.0 2012-01-17 
Unknown in Prolog section at line 5: 
    %% x y w h highlight 


GPL Ghostscript 9.07 (2013-02-14) 
Copyright (C) 2012 Artifex Software, Inc. All rights reserved. 
This software comes with NO WARRANTY: see the file PUBLIC for details. 
Displaying DSC file C:/develop/libro/test/arbol.ps without pages 
Scanning c:\psfonts for fonts... 0 files, 0 scanned, 0 new fonts. 
Can't find (or can't open) font file %rom%Resource/Font/ArialMT. 
Can't find (or can't open) font file ArialMT. 
Querying operating system for font files... 
Didn't find this font on the system! 
Substituting font Helvetica for ArialMT. 
Loading NimbusSanL-Regu font from %rom%Resource/Font/NimbusSanL-Regu... 3168784 1824261 3249480 1962181 2 done. 
Error: /undefined in 27,662 
Operand stack: 

Execution stack: 
    %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- false 1 %stopped_push 1932 1 3 %oparray_pop 1931 1 3 %oparray_pop 1915 1 3 %oparray_pop 1803 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- 
Dictionary stack: 
    --dict:1182/1684(ro)(G)-- --dict:0/20(G)-- --dict:82/200(L)-- 
Current allocation mode is local 
Last OS error: No such file or directory 

--- Begin offending input --- 
0.3 setlinewidth 
%% x y w h highlight 
/highlight { 
     4 dict begin 
     /h exch def 
     /w exch def 
     /y exch def 
     /x exch def 
     gsave 
     newpath 
     x y moveto 
     0 h rlineto  % up to left corner 
     w 0 rlineto  % to upper right corner 
     0 h neg rlineto % to lower right corner 
     w neg 0 rlineto % back home to lower left corner 
     closepath 
     .95 .83 .82 setrgbcolor 
     fill 
     grestore 
     end 
} def 
/ArialMT findfont 11 scalefont setfont 
27,662 32,395 moveto 
12,616 15,395 lineto 
27,662 32,395 moveto 
42,709 15,395 lineto 
25,831 37,395 moveto 
(r) show 
stroke 
1,000 5,000 moveto 
(hello) show 
stroke 
33,232 5,000 moveto 
(part) show 
stroke 

--- End offending input --- 
file offset = 784 
gsapi_run_string_continue returns -101 

回答

1

嗯,這很簡單,似乎ANTLR產生4位數字取決於當地的,也就是用法語說:用逗號。這是一個恥辱,因爲在這種情況下,PostScript只是被剝離。

的解決方案是一個簡單的問題給你。看來ANTLR 4一般數字使用當地法語,即用法語,用逗號。這很遺憾,因爲PostScript不理解法語(拉丁語?)浮動數字。

您填寫不宜目標進行ANTLR 4

在Unix上,你可以暫時改變當地一個慶典

export LANG=C 
+0

謝謝!我改變了格式,它工作正常,我會報告錯誤。 – 2013-02-17 03:46:48

+0

補充bug https://github.com/antlr/antlr4/issues/158 – 2013-02-17 16:53:22