Greetings, On Mon Sep 13 21:31:17 2004, coke wrote: > The compile error has changed: > > error:imcc:Sub isn't a PMC > in file 'bar.imc' line 5 > > But, IMO, this should still barf on the declaration of "index" instead. > > > [coke - Sun Oct 19 18:01:33 2003]: > > > > Is there a way to get this to barf on .local rather than the call to > > index? > > > > (Was a bit confusing, since I had a working program, then moved the > > .local up to the beginning of the sub. At that point, parrot started > > complaining about my call to index.) > > > > bash-2.05a$ cat bar.imc > > .sub _main > > > > .local int index > > > > index $I0, "whee", "w" > > > > end > > .end > > bash-2.05a$ ../../parrot bar.imc > > error:imcc:parse error, unexpected IREG, expecting '=' > > > > in file 'bar.imc' line 5
As far as i can tell there's no decision on using parrot ops as variable names (please do correct me if i'm wrong). So, are these valid PIR instructions or not: .local int set # or .local int print # or .local int new There is one test for this (leo++ for poiting it) in t/compilers/imcc/syn/clash.t: pir_output_is( <<'CODE', <<'OUT', "parrot op as identifier" ); (..) Luckly (or not) that test uses: .local int set # which works ok .local int new # would have failed the test for example Divine intervention needed, thank you. Best regards, ./smash