Diego Martinez
Diego Martinez

Reputation: 69

ANTLR postscript tree

With antlr4 TestRig you can use -ps to generate a PostScript tree. I can't view my tree.

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

Error in 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

Upvotes: 0

Views: 344

Answers (1)

emcastro
emcastro

Reputation: 41

Bon, c'est bien simple, il semble que ANTLR 4 génère les chiffres en fonction de la locale, c'est-à-dire, en français : avec une virgule. Et c'est dommage, parce dans ce cas, PostScript n'en trave que dalle.

The solution to you problem is simple. It seems that ANTLR 4 generates numbers using the locale, i.e. in French, using a comma. It's a pity because PostScript does not understand french (latin?) floating numbers.

You should fill a but report to ANTLR 4.

On Unix, you can temporarily change the locale on bash

export LANG=C

Upvotes: 1

Related Questions