ABNF Parser Generator
Session Description Protocol (SDP) is used by many multimedia protocols to negotiate the client/server parameters to be used in a session. From RFC 4566: "When initiating multimedia teleconferences, voice-over-IP calls, streaming video, or other sessions, there is a requirement to convey media details, transport addresses, and other session description metadata to the participants. SDP provides a standard representation for such information, irrespective of how that information is transported."
This grammar is from RFC 4566, modified for prioritized-choice rule compliance and for simplified URI, IPv4 and IPv6 fields. It matches a superset of valid announcements. Further semantic verification of some fields is needed, especially the URI, IPv4 and IPv6 addresses.
This is a sample SDP announcement from RFC 4566.