[antlr-interest] Antlrworks 1.4.1, OS X 10.6.5 and debugging issues
Christopher Hunt
huntc at internode.on.net
Sun Dec 12 20:04:02 PST 2010
On further investigation, I'm wondering if this is a troublesome line in the Antlr debug classes:
https://fisheye2.atlassian.com/browse/antlr/runtime/Java/src/main/java/org/antlr/runtime/debug/RemoteDebugEventSocketListener.java?r=7009#l275
It appears to expect a boolean parameter after a numeric one. I used Wireshark and observed that no boolean parameter is being provided by Antlrworks. Would it be useful to default to false for this parameter if there is nothing provided in terms of providing backward compatibility; I see that the change was made as part of 7009:
https://fisheye2.atlassian.com/changelog/antlr/?cs=7009
Kind regards,
Christopher
On 13/12/2010, at 9:55 AM, Christopher Hunt wrote:
> Just out of interest, I reverted to 1.4 and had the same problem. So, while there may be some other problem with 1.4.1, there is probably and issue with my grammar. Here's the grammar so far in case anyone has thoughts (it parses the zoneinfo database (1) - I'll release this to the ANTLR site when finished):
>
> /*
> * Copyright 2010 Class Action P/L
> *
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> * You may obtain a copy of the License at
> *
> * http://www.apache.org/licenses/LICENSE-2.0
> *
> * Unless required by applicable law or agreed to in writing, software
> * distributed under the License is distributed on an "AS IS" BASIS,
> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> * See the License for the specific language governing permissions and
> * limitations under the License.
> */
>
> grammar Zoneinfo;
>
> options {
> output=AST;
> ASTLabelType=CommonTree;
> language=Java;
> }
>
> @header {
> package com.classactionpl.tz;
> }
>
> @lexer::header {
> package com.classactionpl.tz;
> }
>
> line
> : (ruleLine | zoneLine | linkLine | NEWLINE)*
> ;
>
> ruleLine
> : 'Rule' ruleName ruleFrom ruleTo ruleType ruleIn ruleOn ruleAt ruleSave ruleLetters NEWLINE
> ;
>
> zoneLine
> : 'Zone' zoneName zoneGmtOffset zoneRules zoneFormat
> (zoneUntil NEWLINE+ zoneGmtOffset zoneRules zoneFormat)*
> NEWLINE
> ;
>
> linkLine
> : 'Link' linkFrom linkTo NEWLINE
> ;
>
> ruleName
> : ID
> ;
>
> ruleFrom
> : INT | YEAR_MINMAX
> ;
>
> ruleTo
> : INT | YEAR_MINMAX | ONLY_YEAR
> ;
>
> ruleType
> : '-' | YEAR_TYPE
> ;
>
> ruleIn
> : MONTH
> ;
>
> ruleOn
> : INT | LAST_DAY | (DAY_OF_WEEK DAY_COMPARATOR INT)
> ;
>
> ruleAt
> : '-' | (positiveTime TIME_OF_DAY_SUFFIX?)
> ;
>
> ruleSave
> : '-' | positiveTime
> ;
>
> ruleLetters
> : '-' | ID
> ;
>
> zoneName
> : ID
> ;
>
> zoneGmtOffset
> : offset
> ;
>
> zoneRules
> : '-' | positiveTime | ID
> ;
>
> zoneFormat
> : ID ('/' ID)?
> ;
>
> zoneUntil
> : INT (ruleIn (ruleOn ruleAt?)?)?
> ;
>
> linkFrom
> : ID
> ;
>
> linkTo
> : ID
> ;
>
> offset
> : '-'? positiveTime
> ;
>
> positiveTime
> : INT (':' INT (':' INT)?)?
> ;
>
> YEAR_MINMAX
> : 'min' | 'max'
> ;
>
> ONLY_YEAR
> : 'only'
> ;
>
> YEAR_TYPE
> : 'even' | 'odd' | 'uspres' | 'nonpres' | 'nonuspres'
> ;
>
> MONTH
> : 'Jan' 'uary'?
> | 'Feb' 'ruary'?
> | 'Mar' 'ch'?
> | 'Apr' 'il'?
> | 'May'
> | 'Jun' 'e'?
> | 'Jul' 'y'?
> | 'Aug' 'ust'?
> | 'Sep' 'tember'?
> | 'Oct' 'ober'?
> | 'Nov' 'ember'?
> | 'Dec' 'ember'?
> ;
>
> LAST_DAY
> : 'last' '-'? DAY_OF_WEEK
> ;
>
> DAY_OF_WEEK
> : 'Sun' 'day'?
> | 'Mon' 'day'?
> | 'Tue' 'sday'?
> | 'Wed' 'nesday'?
> | 'Thu' 'rsday'?
> | 'Fri' 'day'?
> | 'Sat' 'urday'?
> ;
>
> DAY_COMPARATOR
> : '<=' | '>='
> ;
>
> TIME_OF_DAY_SUFFIX
> : 'w' | 's' | 'u' | 'g' | 'z'
> ;
>
> INT
> : ('0'..'9')+
> ;
>
> ID
> : ('a'..'z'|'A'..'Z'|'%')('a'..'z'|'A'..'Z'|'0'..'9'|'%'|'/'|'_'|'-')*
> ;
>
> NEWLINE
> : ('#' ~('\n'|'\r')*)? '\r'? '\n' | EOF
> ;
>
> WS
> : (' ' | '\t') {skip();}
> ;
>
>
> Kind regards,
> Christopher
>
> (1) http://www.twinsun.com/tz/tz-link.htm
>
> On 10/12/2010, at 10:08 PM, Christopher Hunt wrote:
>
>> Hi there,
>>
>> I'm using Antlrworks v.1.4.1 on Mac OS X 10.6.5 and find that I cannot debug my grammar, despite all being well via the interpreter.
>>
>> Here are my steps:
>> 1. Open a grammar
>> 2. Run/Debug...
>> 3. Select a file as input (makes no difference if I use the text option) and confirm
>>
>> I then receive the generating/connecting messages and note that a socket connection is established i.e.:
>>
>> tcp4 0 0 127.0.0.1.49100 127.0.0.1.60879 ESTABLISHED
>> tcp4 27 0 127.0.0.1.60879 127.0.0.1.49100 ESTABLISHED
>> tcp46 0 0 *.49100 *.* LISTEN
>>
>> Clicking on any of the play buttons (step, step over etc.), appears to do nothing. The only event shown is "commence". If I stop the debugger I have to click the stop button twice whereupon it force quits (a single stop doesn't appear to do anything).
>>
>> Are there known issues with my configuration?
>>
>> Thanks for your help.
>>
>> Kind regards,
>> Christopher
>
More information about the antlr-interest
mailing list