# New Ticket Created by "Jim McKim"
# Please include the string: [perl #42334]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=42334 >
---
osname= linux
osvers= 2.6.15-gentoo-alt2
arch= x86_64-linux
cc= x86_64-pc-linux-gnu-gcc
---
Flags:
category=utilities
severity=low
ack=no
---
I see this fault when compiling the first grammar example below:
/home/mckim/src.local/parrot-0.4.10/parrot -O 0 /home/mckim/src/parrot-
0.4.10/compilers/pge/pgc.pir --encoding=utf8 --output=test.pir test.pg
set_integer_keyed() not implemented in class 'Undef'
current instr.: 'parrot;PGE::Exp::Quant;reduce' pc 4627
(compilers/pge/PGE/Exp.pir:444)
called from Sub 'parrot;PGE::Exp::Concat;reduce' pc 4392
(compilers/pge/PGE/Exp.pir:364)
called from Sub 'parrot;PGE::Exp::Group;reduce' pc 4918
(compilers/pge/PGE/Exp.pir:619)
called from Sub 'parrot;PGE::Exp::Quant;reduce' pc 4652
(compilers/pge/PGE/Exp.pir:450)
called from Sub 'parrot;PGE::Exp::Concat;reduce' pc 4392
(compilers/pge/PGE/Exp.pir:364)
called from Sub 'parrot;PGE::Exp;root_pir' pc 3903
(compilers/pge/PGE/Exp.pir:117)
called from Sub 'parrot;PGE::Exp;compile' pc 3825
(compilers/pge/PGE/Exp.pir:74)
called from Sub 'parrot;PGE::P6Grammar::Compiler;regex_stmt' pc 503
(runtime/parrot/library/PGE/P6Grammar.pir:275)
called from Sub 'parrot;PGE::P6Grammar::Compiler;compile' pc 207
(runtime/parrot/library/PGE/P6Grammar.pir:155)
called from Sub 'parrot;HLLCompiler;eval' pc 500
(runtime/parrot/library/Parrot/HLLCompiler.pir:338)
called from Sub 'parrot;HLLCompiler;evalfiles' pc 800
(runtime/parrot/library/Parrot/HLLCompiler.pir:472)
called from Sub 'parrot;HLLCompiler;command_line' pc 960
(runtime/parrot/library/Parrot/HLLCompiler.pir:538)
called from Sub 'parrot;PGE::P6Grammar::Compiler;main' pc 16
(runtime/parrot/library/PGE/P6Grammar.pir:65)
The problematic grammar:
grammar x_grammar;
#token h_digits { <:i[0-9a-f]>+ }
#token h_digits { <[0-9a-f]> }
token TOK_CONSTANT {
#<h_digits> ( : <h_digits> )**{1..15}
<h_digits> : <h_digits>
}
This example is extracted from a larger grammar to demonstrate the
problem. When I simplify it further by removing the commented-out
lines, e.g.:
grammar x_grammar;
token TOK_CONSTANT {
<h_digits> : <h_digits>
}
PGE compiles it successfully!
--
Jim McKim
---
Summary of my parrot 0.4.10 (r0) configuration:
configdate='Wed Apr 4 19:44:29 2007'
Platform:
osname=linux, archname=x86_64-linux
jitcapable=0, jitarchname=nojit,
jitosname=linux, jitcpuarch=x86_64
execcapable=0
perl=/usr/bin/perl5.8.8
Compiler:
cc='x86_64-pc-linux-gnu-gcc', ccflags=' -pipe
-Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-D_GNU_SOURCE -fPIC -I /usr/include',
Linker and Libraries:
ld='x86_64-pc-linux-gnu-gcc', ldflags=' -L/usr/local/lib64',
cc_ldflags='',
libs='-lpthread -lnsl -ldl -lm -lcrypt -lutil -lrt -lgmp -lreadline
-lncurses'
Dynamic Linking:
share_ext='.so', ld_share_flags='-shared -L/usr/local/lib64 -fPIC',
load_ext='.so', ld_load_flags='-shared -L/usr/local/lib64 -fPIC'
Types:
iv=long, intvalsize=8, intsize=4, opcode_t=long, opcode_t_size=8,
ptrsize=8, ptr_alignment=1 byteorder=12345678,
nv=double, numvalsize=8, doublesize=8
---
Environment:
HOME =/home/mckim
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH
=/usr/kde/3.5/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.5:/opt/blackdown-
jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/bin:/u
sr/kde/3.5/bin:/usr/qt/3/bin:/usr/kde/3.4/bin:/usr/games/bin:/opt/vmware/workstation/bin
SHELL =/bin/bash