0

antlr4 TestRig を使用-psすると、PostScript ツリーを生成できます。ツリーが表示されません。

追記:

%!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
4

1 に答える 1

1

Bon、c'est bien simple、il semble queANTLR4génèreleschiffresenfonction de la locale、c'est-à-dire、enfrançais:avecunevirgule。Et c'est dommage、parce dans ce cas、PostScript n'en travequedalle。

あなたの問題の解決策は簡単です。ANTLR 4は、ロケールを使用して、つまりフランス語でコンマを使用して数値を生成しているようです。PostScriptはフランス語(ラテン語?)の浮動小数点数を理解しないため、残念です。

ANTLR4に報告する必要があります。

Unixでは、bashのロケールを一時的に変更できます

export LANG=C
于 2013-02-16T22:44:15.480 に答える