I think that specification has suffered a little bit of neglect (sorry about that), because in practice our C++ parser is really the de facto standard and we have not recently made an effort to go through and make sure the official spec matches it perfectly. My reading of that string (/[^\0\n\\]/) is that it's a regular expression saying "any character other than null, newline, or backslash." But in general I would say the best bet is to resolve ambiguities by looking at what the C++ parser does.
By the way, have you considered just reusing the C++ parser that's included in protoc? You can call protoc with the --descriptor_set_out flag to have it parse your .proto file and produce a serialized FileDescriptorSet proto as output. Then at that point it's easy to parse the descriptors using just about any language we support, and that should give you all the information you need, without the need for a new .proto file parser. On Wed, Oct 31, 2018 at 9:23 AM Michael Powell <[email protected]> wrote: > On Wed, Oct 31, 2018 at 12:22 PM Michael Powell <[email protected]> > wrote: > > > > Concerning Constant, literally from the v2 spec: > > Rather, Syntax section, excuse me... > > > syntax = "syntax" "=" quote "proto2" quote ";" > > > > Do I read that correctly you can expect either 'proto2' or "proto2", > > but never 'proto2" nor "proto2' ? > > > > If accurate, that just seems to me to be lazy spec authorship... > > > > Thanks! > > On Wed, Oct 31, 2018 at 12:07 PM Michael Powell <[email protected]> > wrote: > > > > > > Hello, > > > > > > I am writing a parser for the Proto language specification starting > > > with v2. I need a little help interpreting one of the lines if you > > > please: > > > > > > In the "String literals" section, what does this mean: > > > > > > charValue = hexEscape | octEscape | charEscape | /[^\0\n\\]/ > > > > > > Specifically, the trailing list of character soup? I want to say that > > > there are escaped characters in the sequence? Or am I to take that > > > string literally? Or notwithstanding the enclosing forward slashes? > > > > > > Thanks much in advance! > > > > > > Best regards, > > > > > > Michael Powell > > -- > You received this message because you are subscribed to the Google Groups > "Protocol Buffers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/protobuf. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
