Package: perl-byacc
Version: 2.0-6
Severity: normal

This is really two different by related problems:

1) If you use the literal charcter token '$' in the grammar like this:

money: '$' NUMBER

then the $ will appear unescaped in double-quoted strings in @yyname
and @yyrule in the generated file. There are similar problems with '@'.
The parser generally works OK anyway, but the debug output is not
correct.

2) If you use mid-rule actions in the grammar:

rule: TOKEN_A { .... } TOKEN_B

then pbyacc generates internal rules named $$<number>. In the generated
file the rule names appear in double-quoted strings in @yyrule without 
proper escaping. This is more serious since this leads to warnings like
'Use of uninitialized value in concatenation' and  'Use of uninitialized
value in scalar dereference' are printed when the parser is used.

Problem 1 is quite easy to work around by replacing '$' with DOLLAR and
modifying the lexer. I have no workaround for problem 2.

/Daniel


-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-2-amd64
Locale: LANG=sv_SE, LC_CTYPE=sv_SE (charmap=ISO-8859-1)

Versions of packages perl-byacc depends on:
ii  libc6                        2.3.6.ds1-4 GNU C Library: Shared libraries

Versions of packages perl-byacc recommends:
ii  perl                          5.8.8-6.1  Larry Wall's Practical Extraction 

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to