The diagnostic on the last line should be:

Unexpected End of File at EOF

That's the memorable diagnostic from a CDC compiler.

brucee


On 6 November 2013 17:42, <6o205zd02@sneakemail.com> wrote:
I'm trying to create a plumbing rule so that I can right-click (in acme) on the diagnostic messages produced by Python and get the file opened with the appropriate line select.  Unfortunately my attempts so far have failed.

Question 1: Is there an easy way to "debug" plumbing rules (I'm using plan9port on linux)?

I started by looking at a couple of existing rules from $PLAN9/plumb/basic:

# existing files tagged by line number:columnumber or linenumber.columnumber, twice, go to editor
type is text
data matches '([.a-zA-Z¡-￿0-9_/\-]*[a-zA-Z¡-￿0-9_/\-])':$twocolonaddr,$twocolonaddr
arg isfile $1
data set $file
attr add addr=$2-#1+#$3,$4-#1+#$5
plumb to edit
plumb client $editor

# existing files tagged by line number:columnumber or linenumber.columnumber, twice, go to editor
type is text
data matches '([.a-zA-Z¡-￿0-9_/\-]*[a-zA-Z¡-￿0-9_/\-])':$twocolonaddr
arg isfile $1
data set $file
attr add addr=$2-#1+#$3
plumb to edit
plumb client $editor

After reading http://plan9.bell-labs.com/sys/doc/plumb.pdf, I think I understand these rules except for the line
data set $file

Question2: What does that line do?  What is $file?

Since the Python 2.7 diagnostic messages look like

File "/home/pcanning/src/python/test/test_cli.py", line 91, in test_interactive_mode

I created the following rule that attempts to match the test from "File" to "line 91", and send plumbing message to edit (acme).

# Python (2.7) error messages
type is text
data matches File "([.a-zA-Z¡-￿0-9_/\-]*[a-zA-Z¡-￿0-9_/\-])", line ([0-9]+)
arg isfile $1
data set $1
attr add addr=$2
plumb to edit
plumb client $editor

Question 3: How do I change this rule to make acme open /home/pcanning/src/python/test/test_cli.py and select line 91 (in the example above)?

    thanks,
    Peter Canning

PS: Once I get this working I'll tackle the diagnostic messages I get when compiling Java code using maven (not my choice).  They look like
[error] /home/pcanning/src/java/test/PerfTest.java:[66,1] error: reached end of file while parsing