On 03/04/2013 02:26 PM, John Goodyear wrote:
>
> On 03/04/2013 12:40 PM, John Goodyear wrote:
> >
> > > On 03/04/2013 11:35 AM, John Goodyear wrote:
> > > >
> > > > > I tried to say in an earlier email that the make after the
> > miniperl gets
> > > > > linked is likely to fail spectacularly. Instead of continuing
> > the make
> > > > > at this point, use the already-linked miniperl and do the Hello
> > world
> > > > test:
> > > > >
> > > > > ./miniperl -le 'print "Hello World"'
> > > > >
> > > >
> > > > This too, fails with ~643K lines of
> > > >
> > > > Semicolon seems to be missing
> > > >
> > > > And then finally
> > > >
> > > > Out of memory!
> > > >
> > >
> > >
> > > What happens if you add a semi-colon?
> > >
> > > ./miniperl -le 'print "Hello World";'
> > >
> >
> > No change.
> >
>
> That's unfortunate. Take the attached file and replace the one on your
> system with it, and run make again, and see what happens.
> [attachment "l1_char_class_tab.h" deleted by John
Goodyear/Gaithersburg/IBM]
I addition to substituting the l1_char_class_tab.h that you provided, I
put a print statement into perly.c to display the yylex() return value
After that, I deleted miniperl and all of the object files and rebuilt
miniperl.
miniperl now terminates in a more reasonable manner...
/u/jgood/perlsrc/perl-3a3d7b8 >./miniperl -le 'print "Hello World"' >
output 2>&1
/u/jgood/perlsrc/perl-3a3d7b8 >cat output
syntax error at -e line 1, at EOF
Execution of -e aborted due to compilation errors.
JCG: yylex returns 301: 'ýè'
JCG: yylex returns 267: 'ðê'
JCG: yylex returns 94: ';'
JCG: yylex returns 0: ''
/u/jgood/perlsrc/perl-3a3d7b8 >./miniperl -le 'print "Hello World";' >
output 2>&1
/u/jgood/perlsrc/perl-3a3d7b8 >cat output
syntax error at -e line 1, near ""Hello World";"
Execution of -e aborted due to compilation errors.
JCG: yylex returns 301: 'ýè'
JCG: yylex returns 267: 'ðê'
JCG: yylex returns 94: ';'
JCG: yylex returns 94: ';'
JCG: yylex returns 0: ''
FYI: Before replacing l1_char_class_tab.h, this is the character that
was almost always output from my trace:
JCG: yylex returns 264: 'ðñ' ('ðñ' is represented as '\214\111'
when the output is run through more)
I have one more trick to try, and that is to use another file (attached)
to replace the one you have, and redo the make, etc.
/* -*- buffer-read-only: t -*-
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
* This file is built by regen/mk_invlists.pl from Unicode::UCD.
* Any changes made here will be lost!
*/
/* See the generating file for comments */
#ifndef PERL_IN_XSUB_RE
static UV Latin1_invlist[] = {
2, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
0, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
256,
0
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV AboveLatin1_invlist[] = {
1, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
256
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV ASCII_invlist[] = {
54, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
0, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
4,
5,
6,
7,
8,
11,
20,
21,
23,
24,
26,
28,
32,
38,
40,
45,
48,
50,
51,
55,
56,
60,
62,
63,
65,
75,
81,
90,
98,
107,
112,
121,
128,
129,
138,
145,
154,
161,
170,
173,
174,
189,
190,
192,
202,
208,
218,
224,
225,
226,
234,
240,
250,
0
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV L1Cased_invlist[] = {
40, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
66,
74,
81,
90,
98,
106,
112,
121,
128,
138,
140,
143,
145,
157,
158,
159,
160,
161,
162,
170,
172,
173,
174,
175,
186,
187,
193,
202,
203,
208,
209,
218,
219,
224,
226,
234,
235,
240,
251,
255
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV VertSpace_invlist[] = {
8, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
11,
14,
21,
22,
37,
38,
8232,
8234
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PerlSpace_invlist[] = {
6, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
11,
14,
21,
22,
64,
65
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV XPerlSpace_invlist[] = {
24, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
9,
10,
11,
14,
21,
22,
37,
38,
64,
66,
5760,
5761,
6158,
6159,
8192,
8203,
8232,
8234,
8239,
8240,
8287,
8288,
12288,
12289
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixAlnum_invlist[] = {
14, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
129,
138,
145,
154,
162,
170,
193,
202,
209,
218,
226,
234,
240,
250
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV L1PosixAlnum_invlist[] = {
40, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
66,
74,
81,
90,
98,
106,
112,
121,
128,
138,
140,
143,
145,
157,
158,
159,
160,
161,
162,
170,
172,
173,
174,
175,
186,
187,
193,
202,
203,
208,
209,
218,
219,
224,
226,
234,
235,
250,
251,
255
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixAlpha_invlist[] = {
12, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
129,
138,
145,
154,
162,
170,
193,
202,
209,
218,
226,
234
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV L1PosixAlpha_invlist[] = {
40, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
66,
74,
81,
90,
98,
106,
112,
121,
128,
138,
140,
143,
145,
157,
158,
159,
160,
161,
162,
170,
172,
173,
174,
175,
186,
187,
193,
202,
203,
208,
209,
218,
219,
224,
226,
234,
235,
240,
251,
255
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixBlank_invlist[] = {
2, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
64,
65
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV XPosixBlank_invlist[] = {
16, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
9,
10,
64,
66,
5760,
5761,
6158,
6159,
8192,
8203,
8239,
8240,
8287,
8288,
12288,
12289
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixCntrl_invlist[] = {
26, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
0, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
4,
5,
6,
7,
8,
11,
20,
21,
23,
24,
26,
28,
32,
38,
40,
45,
48,
50,
51,
55,
56,
60,
62,
63,
64,
0
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV XPosixCntrl_invlist[] = {
4, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
0, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
64,
255,
256,
0
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixDigit_invlist[] = {
2, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
240,
250
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixGraph_invlist[] = {
28, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
75,
81,
90,
98,
107,
112,
121,
128,
129,
138,
145,
154,
161,
170,
173,
174,
189,
190,
192,
202,
208,
218,
224,
225,
226,
234,
240,
250
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV L1PosixGraph_invlist[] = {
2, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
66,
255
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixLower_invlist[] = {
6, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
129,
138,
145,
154,
162,
170
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV L1PosixLower_invlist[] = {
20, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
66,
74,
81,
90,
112,
113,
129,
138,
140,
143,
145,
157,
160,
161,
162,
170,
203,
208,
219,
224
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixPrint_invlist[] = {
30, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
64,
65,
75,
81,
90,
98,
107,
112,
121,
128,
129,
138,
145,
154,
161,
170,
173,
174,
189,
190,
192,
202,
208,
218,
224,
225,
226,
234,
240,
250
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV L1PosixPrint_invlist[] = {
2, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
64,
255
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixPunct_invlist[] = {
20, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
75,
81,
90,
98,
107,
112,
121,
128,
161,
162,
173,
174,
189,
190,
192,
193,
208,
209,
224,
225
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV L1PosixPunct_invlist[] = {
28, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
75,
81,
90,
98,
107,
112,
121,
128,
138,
140,
161,
162,
170,
172,
173,
174,
179,
180,
181,
183,
189,
190,
192,
193,
208,
209,
224,
225
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixSpace_invlist[] = {
6, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
11,
14,
21,
22,
64,
65
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV XPosixSpace_invlist[] = {
24, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
9,
10,
11,
14,
21,
22,
37,
38,
64,
66,
5760,
5761,
6158,
6159,
8192,
8203,
8232,
8234,
8239,
8240,
8287,
8288,
12288,
12289
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixUpper_invlist[] = {
6, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
193,
202,
209,
218,
226,
234
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV L1PosixUpper_invlist[] = {
24, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
98,
106,
113,
121,
128,
129,
158,
159,
172,
173,
174,
175,
186,
187,
193,
202,
209,
218,
226,
234,
235,
240,
251,
255
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixWord_invlist[] = {
16, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
109,
110,
129,
138,
145,
154,
162,
170,
193,
202,
209,
218,
226,
234,
240,
250
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV L1PosixWord_invlist[] = {
42, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
66,
74,
81,
90,
98,
106,
109,
110,
112,
121,
128,
138,
140,
143,
145,
157,
158,
159,
160,
161,
162,
170,
172,
173,
174,
175,
186,
187,
193,
202,
203,
208,
209,
218,
219,
224,
226,
234,
235,
250,
251,
255
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV PosixXDigit_invlist[] = {
6, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
129,
135,
193,
199,
240,
250
};
#endif
#ifndef PERL_IN_XSUB_RE
static UV XPosixXDigit_invlist[] = {
12, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
129,
135,
193,
199,
240,
250,
65296,
65306,
65313,
65319,
65345,
65351
};
#endif
static UV NonL1_Perl_Non_Final_Folds_invlist[] = {
44, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
700,
701,
776,
777,
787,
788,
834,
835,
940,
941,
942,
943,
945,
946,
951,
952,
953,
954,
961,
962,
965,
966,
969,
970,
974,
975,
1381,
1382,
1396,
1397,
1406,
1407,
7936,
7944,
7968,
7976,
8032,
8040,
8048,
8049,
8052,
8053,
8060,
8061
};
#ifndef PERL_IN_XSUB_RE
static UV _Perl_Multi_Char_Folds_invlist[] = {
58, /* Number of elements */
0, /* Current iteration position */
0, /* Cache of previous search index result */
290655244, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
1 if the next element is the first */
89,
90,
304,
305,
329,
330,
496,
497,
912,
913,
944,
945,
1415,
1416,
7830,
7835,
7838,
7839,
8016,
8017,
8018,
8019,
8020,
8021,
8022,
8023,
8064,
8112,
8114,
8117,
8118,
8120,
8124,
8125,
8130,
8133,
8134,
8136,
8140,
8141,
8146,
8148,
8150,
8152,
8162,
8165,
8166,
8168,
8178,
8181,
8182,
8184,
8188,
8189,
64256,
64263,
64275,
64280
};
#endif
/* ex: set ro: */