[antlr-interest] ANTLR grammar processing returns strange warnings

Yann Gauteron ygauteron at gmail.com
Wed May 20 01:50:14 PDT 2009


Dear ANTLR users,

I am a happy (until now) new user of ANTLR. I learned ANTLR from
scratch by reading the "The Definitive ANTLR Reference" book and
trying to code a configuration file parser with ANTLR 3.1.3.

While coding the grammar, I had no problem for converting grammar into
Java until a certain moment, where I get lots of warnings similar to
"warning(209): TestKO.g:450:1: Multiple token rules can match input
such as "'T'" : ID_TFTPTIMESTAMP, ID_TFTPMODEMADDRESS,
ID_TESTMODEENABLE, ID_TEKGRACETIME, SNMP_TIMETICKS, T_OID"

Typically, with TestOK.g grammar, conversion works. With TestKO.g
grammar, conversion returns warnings (see error.txt file).

I can't understand why these warnings are returned as - I think -
there is no errors in my grammar (lots of warning lines are returned
against lines that were unmodified between TestOK and TestKO !).

May you have some feedbacks if this is finally a mistake in my grammar
(any advice is welcome, as I mentionned it is my first experience with
ANTLR) or is it known problems with ANTLR (I read some threads on
ANTLR interest mailing list with the same warnings, but it seems this
is not the same situation).

Thanks!
Yann
-------------- next part --------------

D:\Dev\Jdocsis\ch\gauteron\docsis\parser\test>java org.antlr.Tool TestOK.g

D:\Dev\Jdocsis\ch\gauteron\docsis\parser\test>java org.antlr.Tool TestKO.g
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'T'"
: ID_TFTPTIMESTAMP, ID_TFTPMODEMADDRESS, ID_TESTMODEENABLE, ID_TEKGRACETIME, SNM
P_TIMETICKS, T_OID

As a result, token(s) ID_TFTPMODEMADDRESS,ID_TESTMODEENABLE,ID_TEKGRACETIME,SNMP
_TIMETICKS,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'V'"
: ID_VLANID, T_OID

As a result, token(s) T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'B'"
: ID_BASELINEPRIVACYSUPPORT, ID_BASELINEPRIVACY, SNMP_BITSTRING, T_MACADDR, T_MA
CMASK, T_IPV6, T_OID

As a result, token(s) ID_BASELINEPRIVACY,SNMP_BITSTRING,T_MACADDR,T_MACMASK,T_IP
V6,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'L'"
: ID_LLCPACKETCLASSIFIER, T_OID

As a result, token(s) T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'P'"
: ID_PRIORITYUP, ID_PRIVACYENABLE, ID_PHSSUPPORT, ID_PHS, ID_PHSCLASSIFIERREF, I
D_PHSCLASSIFIERID, ID_PHSERVICEFLOWREF, ID_PHSSERVICEFLOWID, ID_PHSFIELD, ID_PHS
INDEX, ID_PHSMASK, ID_PHSSIZE, ID_PHSVERIFY, T_OID

As a result, token(s) ID_PRIVACYENABLE,ID_PHSSUPPORT,ID_PHS,ID_PHSCLASSIFIERREF,
ID_PHSCLASSIFIERID,ID_PHSERVICEFLOWREF,ID_PHSSERVICEFLOWID,ID_PHSFIELD,ID_PHSIND
EX,ID_PHSMASK,ID_PHSSIZE,ID_PHSVERIFY,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'I'"
: ID_IPV6SWUPGRADESERVER, ID_IGMPSUPPORT, ID_IPPACKETCLASSIFIER, ID_IPTOS, ID_IP
PROTO, ID_IPSRCADDR, ID_IPSRCMASK, ID_IPDSTADDR, ID_IPDSTMASK, ID_IEEE802CLASSIF
IER, ID_IPV6PACKETCLASSIFIER, ID_IPV6TRAFFICCLASSRANGEMASK, ID_IPV6FLOWLABEL, ID
_IPV6NEXTHEADERTYPE, ID_IPV6SRCADDR, ID_IPV6SRCPREFLENGTH, ID_IPV6DSTADDR, ID_IP
V6DSTPREFLENGTH, SNMP_INTEGER, SNMP_IPADDRESS, T_OID

As a result, token(s) ID_IGMPSUPPORT,ID_IPPACKETCLASSIFIER,ID_IPTOS,ID_IPPROTO,I
D_IPSRCADDR,ID_IPSRCMASK,ID_IPDSTADDR,ID_IPDSTMASK,ID_IEEE802CLASSIFIER,ID_IPV6P
ACKETCLASSIFIER,ID_IPV6TRAFFICCLASSRANGEMASK,ID_IPV6FLOWLABEL,ID_IPV6NEXTHEADERT
YPE,ID_IPV6SRCADDR,ID_IPV6SRCPREFLENGTH,ID_IPV6DSTADDR,ID_IPV6DSTPREFLENGTH,SNMP
_INTEGER,SNMP_IPADDRESS,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'G'"
: ID_GLOBALPRIVACYENABLE, ID_GUARANTEEDUP, SNMP_GAUGE32, T_OID

As a result, token(s) ID_GUARANTEEDUP,SNMP_GAUGE32,T_OID were disabled for that
input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'A'"
: ID_AUTHTIMEOUT, ID_AUTHGRACETIME, ID_AUTHREJECTTIMEOUT, ID_ACTIVATIONSTATE, T_
MACADDR, T_MACMASK, T_IPV6, T_OID

As a result, token(s) ID_AUTHGRACETIME,ID_AUTHREJECTTIMEOUT,ID_ACTIVATIONSTATE,T
_MACADDR,T_MACMASK,T_IPV6,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'D'"
: ID_DOWNSTREAMFREQUENCY, ID_DOCSISTWOENABLE, ID_DOWNSTREAMSAIDSUPPORT, ID_DCCSU
PPORT, ID_DSPACKETCLASS, ID_DSCACTION, ID_DSTPORTSTART, ID_DSTPORTEND, ID_DSTMAC
ADDRESS, T_MACADDR, T_MACMASK, T_IPV6, T_OID

As a result, token(s) ID_DOCSISTWOENABLE,ID_DOWNSTREAMSAIDSUPPORT,ID_DCCSUPPORT,
ID_DSPACKETCLASS,ID_DSCACTION,ID_DSTPORTSTART,ID_DSTPORTEND,ID_DSTMACADDRESS,T_M
ACADDR,T_MACMASK,T_IPV6,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'N'"
: ID_NETWORKACCESS, T_OID

As a result, token(s) T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'H'"
: SNMP_HEXSTRING, T_OID

As a result, token(s) T_OID were disabled for that input
warning(209): TestKO.g:455:1: Multiple token rules can match input such as "'1'.
.'9'": T_INTLIST3, T_INT, T_MACADDR, T_MACMASK, T_IP, T_IPV6, T_OID, T_TIMETICKS


As a result, token(s) T_INT,T_MACADDR,T_MACMASK,T_IP,T_IPV6,T_OID,T_TIMETICKS we
re disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'a'.
.'f'": T_MACADDR, T_MACMASK, T_IPV6, T_OID

As a result, token(s) T_MACMASK,T_IPV6,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'M'"
: STATIC_MAIN, ID_MAXCPE, ID_MAXCLASSIFIERS, ID_MFGCVCDATA, ID_MANUFACTURERCVC,
ID_MTACONFIGDELIMITER, ID_MAXRATEDOWN, ID_MAXRATEUP, ID_MAXBURSTUP, ID_MODEMCAPA
BILITIES, ID_MODEMDOCSISVERSION, T_OID

As a result, token(s) ID_MAXCPE,ID_MAXCLASSIFIERS,ID_MFGCVCDATA,ID_MANUFACTURERC
VC,ID_MTACONFIGDELIMITER,ID_MAXRATEDOWN,ID_MAXRATEUP,ID_MAXBURSTUP,ID_MODEMCAPAB
ILITIES,ID_MODEMDOCSISVERSION,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'U'"
: ID_UPSTREAMCHANNELID, ID_UPSTREAMSIDSUPPORT, ID_USPACKETCLASS, ID_USERPRIORITY
, SNMP_UNSIGNED32, T_OID

As a result, token(s) ID_UPSTREAMSIDSUPPORT,ID_USPACKETCLASS,ID_USERPRIORITY,SNM
P_UNSIGNED32,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'S'"
: ID_SWUPGRADEFILENAME, ID_SNMPWRITECONTROL, ID_SNMPMIBOBJECT, ID_SWUPGRADESERVE
R, ID_SUBMGMTCONTROL, ID_SUBMGMTFILTERS, ID_SNMPCPEACCESSCONTROL, ID_SAMAPWAITTI
MEOUT, ID_SAMAPMAXRETRIES, ID_SERVICEFLOWREF, ID_SERVICEFLOWID, ID_SRCPORTSTART,
 ID_SRCPORTEND, ID_SRCMACADDRESS, SNMP_STRING, T_OID

As a result, token(s) ID_SNMPWRITECONTROL,ID_SNMPMIBOBJECT,ID_SWUPGRADESERVER,ID
_SUBMGMTCONTROL,ID_SUBMGMTFILTERS,ID_SNMPCPEACCESSCONTROL,ID_SAMAPWAITTIMEOUT,ID
_SAMAPMAXRETRIES,ID_SERVICEFLOWREF,ID_SERVICEFLOWID,ID_SRCPORTSTART,ID_SRCPORTEN
D,ID_SRCMACADDRESS,SNMP_STRING,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'E'"
: ID_ETHERTYPE, T_MACADDR, T_MACMASK, T_IPV6, T_OID

As a result, token(s) T_MACADDR,T_MACMASK,T_IPV6,T_OID were disabled for that in
put
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'R'"
: ID_REAUTHTIMEOUT, ID_REKEYTIMEOUT, ID_RULEPRIORITY, T_OID

As a result, token(s) ID_REKEYTIMEOUT,ID_RULEPRIORITY,T_OID were disabled for th
at input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'-'"
: T_INTLIST3, T_INT, T_OID

As a result, token(s) T_INT,T_OID were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'C'"
: ID_CPEMACADDRESS, ID_COSIGNERCVCDATA, ID_COSIGNERCVC, ID_CLASSOFSERVICE, ID_CL
ASSID, ID_CONCATENATIONSUPPORT, ID_CLASSIFIERREF, ID_CLASSIFIERID, SNMP_COUNTER3
2, SNMP_COUNTER64, T_MACADDR, T_MACMASK, T_IPV6, T_OID

As a result, token(s) ID_COSIGNERCVCDATA,ID_COSIGNERCVC,ID_CLASSOFSERVICE,ID_CLA
SSID,ID_CONCATENATIONSUPPORT,ID_CLASSIFIERREF,ID_CLASSIFIERID,SNMP_COUNTER32,SNM
P_COUNTER64,T_MACADDR,T_MACMASK,T_IPV6,T_OID were disabled for that input
warning(209): TestKO.g:455:1: Multiple token rules can match input such as "'0'"
: T_INTLIST3, T_INT, T_HEXSTR, T_MACADDR, T_MACMASK, T_IP, T_IPV6, T_OID, T_TIME
TICKS

As a result, token(s) T_INT,T_HEXSTR,T_MACADDR,T_MACMASK,T_IP,T_IPV6,T_OID,T_TIM
ETICKS were disabled for that input
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'F'"
: ID_FRAGMENTATIONSUPPORT, T_MACADDR, T_MACMASK, T_IPV6, T_OID

As a result, token(s) T_MACADDR,T_MACMASK,T_IPV6,T_OID were disabled for that in
put
warning(209): TestKO.g:450:1: Multiple token rules can match input such as "'O'"
: ID_OPERTIMEOUT, SNMP_OCTETSTRING, SNMP_Opaque, SNMP_OID, T_OID

As a result, token(s) SNMP_OCTETSTRING,SNMP_Opaque,SNMP_OID,T_OID were disabled
for that input
error(208): TestKO.g:455:1: The following token definitions can never be matched
 because prior tokens match the same input: ID_SNMPWRITECONTROL,ID_SNMPMIBOBJECT
,ID_MAXCPE,ID_TFTPMODEMADDRESS,ID_SWUPGRADESERVER,ID_MAXCLASSIFIERS,ID_MFGCVCDAT
A,ID_MANUFACTURERCVC,ID_COSIGNERCVCDATA,ID_COSIGNERCVC,ID_SUBMGMTCONTROL,ID_SUBM
GMTFILTERS,ID_DOCSISTWOENABLE,ID_TESTMODEENABLE,ID_SNMPCPEACCESSCONTROL,ID_MTACO
NFIGDELIMITER,ID_CLASSOFSERVICE,ID_CLASSID,ID_MAXRATEDOWN,ID_MAXRATEUP,ID_GUARAN
TEEDUP,ID_MAXBURSTUP,ID_PRIVACYENABLE,ID_MODEMCAPABILITIES,ID_CONCATENATIONSUPPO
RT,ID_MODEMDOCSISVERSION,ID_PHSSUPPORT,ID_IGMPSUPPORT,ID_DOWNSTREAMSAIDSUPPORT,I
D_UPSTREAMSIDSUPPORT,ID_DCCSUPPORT,ID_BASELINEPRIVACY,ID_AUTHGRACETIME,ID_REKEYT
IMEOUT,ID_TEKGRACETIME,ID_AUTHREJECTTIMEOUT,ID_SAMAPWAITTIMEOUT,ID_SAMAPMAXRETRI
ES,ID_USPACKETCLASS,ID_DSPACKETCLASS,ID_CLASSIFIERREF,ID_CLASSIFIERID,ID_SERVICE
FLOWREF,ID_SERVICEFLOWID,ID_RULEPRIORITY,ID_ACTIVATIONSTATE,ID_DSCACTION,ID_IPPA
CKETCLASSIFIER,ID_IPTOS,ID_IPPROTO,ID_IPSRCADDR,ID_IPSRCMASK,ID_IPDSTADDR,ID_IPD
STMASK,ID_SRCPORTSTART,ID_SRCPORTEND,ID_DSTPORTSTART,ID_DSTPORTEND,ID_DSTMACADDR
ESS,ID_SRCMACADDRESS,ID_IEEE802CLASSIFIER,ID_USERPRIORITY,ID_IPV6PACKETCLASSIFIE
R,ID_IPV6TRAFFICCLASSRANGEMASK,ID_IPV6FLOWLABEL,ID_IPV6NEXTHEADERTYPE,ID_IPV6SRC
ADDR,ID_IPV6SRCPREFLENGTH,ID_IPV6DSTADDR,ID_IPV6DSTPREFLENGTH,ID_PHS,ID_PHSCLASS
IFIERREF,ID_PHSCLASSIFIERID,ID_PHSERVICEFLOWREF,ID_PHSSERVICEFLOWID,ID_PHSFIELD,
ID_PHSINDEX,ID_PHSMASK,ID_PHSSIZE,ID_PHSVERIFY,SNMP_INTEGER,SNMP_COUNTER32,SNMP_
GAUGE32,SNMP_TIMETICKS,SNMP_UNSIGNED32,SNMP_COUNTER64,SNMP_OCTETSTRING,SNMP_IPAD
DRESS,SNMP_Opaque,SNMP_OID,SNMP_BITSTRING,SNMP_STRING,T_INT,T_HEXSTR,T_MACMASK,T
_IP,T_TIMETICKS

D:\Dev\Jdocsis\ch\gauteron\docsis\parser\test>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TestOK.g
Type: application/octet-stream
Size: 8568 bytes
Desc: not available
Url : http://www.antlr.org/pipermail/antlr-interest/attachments/20090520/fc53e0cb/attachment.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TestKO.g
Type: application/octet-stream
Size: 13302 bytes
Desc: not available
Url : http://www.antlr.org/pipermail/antlr-interest/attachments/20090520/fc53e0cb/attachment-0001.obj 


More information about the antlr-interest mailing list