Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!usc!apple!snorkelwacker.mit.edu!bloom-beacon!eru!hagbard!sunic!fuug!hemuli.tik.vtt.fi!Markku.Savela From: Markku.Savela@tel.vtt.fi (Markku Savela) Newsgroups: comp.protocols.iso Subject: Re: ASN.1 defn. is a grammar? Message-ID: <5370@hemuli.tik.vtt.fi> Date: 1 Feb 91 07:34:48 GMT References: <1991Jan31.165316.616@shl.com> Sender: news@hemuli.tik.vtt.fi Reply-To: savela@tel.vtt.fi (Markku Savela) Organization: Technical Research Centre of Finland Lines: 25 In-reply-to: guest@shl.com's message of 31 Jan 91 16:53:16 GMT In article <1991Jan31.165316.616@shl.com> guest@shl.com (Guest csh account (should be sh)) writes: > I have an ASN.1 specification from a nameless client which falls (I > think) into the LL(k) where k > 1 category. The gist of this > definition is: > Choice1 ::= CHOICE { [0] type1, [1] type2, [2] type3 } > Choice2 ::= CHOICE { [1] type4 } > Maintype ::= SEQUENCE { > first Choice1 OPTIONAL, > second Choice2 > } That defition is not valid ASN.1 The tags of the first and second must be distinct: 25: Maintype ::= SEQUENCE { 26: first Choice1 OPTIONAL, 27: second Choice2 ** ERROR on line 27 : Non-distinct tag: [Non-distinct tag: [1] (I think that the syntax defined by ASN.1 is *always* LL(1) or LL(0)). -- Markku Savela (savela@tel.vtt.fi), Technical Research Centre of Finland Telecommunications Laboratory, Otakaari 7 B, SF-02150 ESPOO, Finland