Subject: RE: SIP parser tool

From: Hemon Philippe <[email-masked]>
Date: Wed, 29 Dec 1999 11:30:16 +0100

Hi,

There are two ways for developping a parser :

The first is to use a tool ( like Lex and Yacc ) that with a BNF grammar
generates the totality of the code. It's a quite easy and very fast method
to obtain the parser. But the main problems of this are : 
	1- the generated code  is generally unreadable
	2- it's very difficult to optimize (the tool generated code is not
very high-performance) or to modify it
	3- you are dependant of a tool
By coding directly in pure C, C++, JAVA... it's more difficult and longer to
obtain the same parser. The advantages are :
            1- you can easily change your code for optimizing
	2- high-performance

For JAVA, there are very interessant classes (java.lang.String and
java.util.StringTokenizer) for developping parsers. 
I know also a free parser generator tool (like Lex and Yacc); you can see it
at http://www.metamata.com/

Regards

Philippe Hémon
Siemens France

> -----Original Message-----
> From:	Christer Holmberg 
> Sent:	Mittwoch, 29. Dezember 1999 10:32
> To:	[email-masked]
> Subject:	SIP parser tool
> 
> 
> Hi,
> 
> I'm doing a little research on parser tools for SIP. Tools like lex and
> yacc don't seem to be very suitable, and implementations I've seen use
> pure C (C++, Java, whatever...) code for the parsing. Do you have any
> experience of this?
> 
> Regards,
> 
> Christer 
> 
> 
> 
> 
> 
> ----------------------------------------
> Christer Holmberg
> Advanced Signalling Reserach Laboratory
> Ericsson Finland
> ----------------------------------------

---

From: "Gardell, Steve" <[email-masked]>
Date: Wed, 29 Dec 1999 14:11:11 -0500

Does anyone know of a published SIP grammar for JavaCC ?

> From: [email-masked] [mailto:[email-masked]]
> Sent: Wednesday, December 29, 1999 6:45 AM
> To: Hemon Philippe
> Cc: 'Christer Holmberg'; [email-masked]
> Subject: RE: SIP parser tool
> 
> 
> 
> 
> Whoops, I must say have a _very_ different opinion about this.
> We did  both, and our benchmarks were very differnt that what 
> you sight in
> terms of
> 
> 1. Optimisation
> 2. Flexibility
> 3. Parsing capabilities.
> 
> I guess 1 is where you sight hand written highly over rule 
> based  - where
> my opinion differs=
> Anyway, this this is nothing to do with SIP protocol as such, 
> maybe this
> list is not appropriate for a more elaborate discussion ?
> The issue of speed and optimisation for large grammars like 
> SIP, imho, is
> to an extent myth based - next generation scanners and
> rule generators (not the olde versions of lex and yacc) are highly
> optimised.
> There are various ways to optimise rule generated grammars - 
> once done, Im
> quite sure the results would be surprising for all those who try.
> 
> So Chirster, you need to evaluate well between the above 3 
> points before
> you dive in ! Sure there are come compromnises somewhere, but 
> you need to
> know which is more important !
> 
> Anyway to answer your question: if used properly (inmo 
> again), rule based
> grammars may save you a lot of headaches more thatn what
> you may assume now.
> 
> Best Regds
> Arjun
> --
> Arjun Roychowdhury @ Hughes Software Systems
> 
> 
> 
> 
> 
> 
> 
> 
> Hemon Philippe <[email-masked]> on 12/29/99 
> 04:00:16 PM
> 
> To:   "'Christer Holmberg'" <[email-masked]>,
>       [email-masked]
> cc:
> 
> Subject:  RE: SIP parser tool
> 
> 
> 
> 
> Hi,
> 
> By coding directly in pure C, C++, JAVA... it's more 
> difficult and longer
> to
> I know also a free parser generator tool (like Lex and Yacc); 
> you can see
> it
> Philippe H