[antlr-interest] VCard parser
    Andreas Volz 
    lists at brachttal.net
       
    Tue Aug 18 15:22:49 PDT 2009
    
    
  
Hello,
I'm just starting with ANTLR and try to build a VCard parser. This is
the data I like to parse:
BEGIN:VCARD
VERSION:3.0
N:Mustermann;Max
FN:Max Mustermann
ORG:Wikipedia
URL:http://de.wikipedia.org/
EMAIL;TYPE=INTERNET:max.mustermann at example.org
TEL;TYPE=voice,work,pref:+49 1234 56788
ADR;TYPE=intl,work,postal,parcel:;;Musterstraße 1;Musterstadt;;12345;Germany
END:VCARD
My very first try is this:
grammar VCard;
BEGIN	:	'BEGIN:VCARD';
END	:	'END:VCARD';
VCARD	:	BEGIN LINE+ END;
LINE	: 	KEY DP VALUE;
KEY	:	~':';
DP 	:	':';
VALUE	:	('a'..'z' |'A'..'Z' )+;
But this is only a first step. I couldn't get a more complex rule to work,
A problem that I open get is the message:
"The following token definitions can never be matched because prior tokens
 match the same input"
Even if I don't use that token somewhere, Could anyone maybe explain me why
this very simple grammar doesn't work:
grammar test;
KEY	:	('a'..'z' |'A'..'Z' )+;
VALUE	:	('a'..'z' |'A'..'Z' )+;
LINE	:	KEY '=' VALUE;
=> "The following token definitions can never be matched because prior tokens 
match the same input: VALUE"
How would I do this very simple key/value example?
regards
Andreas
    
    
More information about the antlr-interest
mailing list