This xtext parser - I assume it's something you wrote for syntax validation in Eclipse...?
Would it be possible to extract a p(0) parser from it? I haven't been able to spend much time on p(0), but it's getting enough attention that I'm pushing toward it again. I didn't really mean to announce anything, but enough people noticed my repo that I figured I'd mention it, and enough people have responded to the mention that I'm now scrambling a bit to figure out what and how to do it. On Dec 21, 2010, at 1:50 PM, Henrik Lindberg wrote: > The corresponding definition for "type" from the puppet grammar is called > "classname" and it is what is used to specify a resource "type". > Written in (E)BNF the rules for the different types of > names/identifiers/references would be: > > classname > : NAME > | CLASS_NAME > | CLASS > ; > > NAME : (DEC | LOWER_ALPHA_CHAR) WORD_CHAR* ; > CLASS_NAME : (LOWER_ALPHA_CHAR WORD_CHAR*)? (NS LOWER_ALPHA_CHAR WORD_CHAR*)+; > CLASS_REF: (NS? UPPER_ALPHA_CHAR WORD_CHAR*)+ ; > DEC : '0'..'9' ; > LOWER_ALPHA_CHAR : 'a'..'z' ; > UPPER_ALPHA_CHAR : 'A'..'Z' ; > WORD_CHAR : (DEC | ALPHA_CHARACTER | UNDERSCORE) ; > ALPHA_CHARACTER : LOWER_ALPHA_CHAR | UPPER_ALPHA_CHAR ; > UNDERSCORE : '_' ; > NS : "::" ; > CLASS : "class" ; > > This is what I am using in the Xtext based parser for .pp (and I double > checked against the lexer/parser rules, but may have misunderstood something). > > > - henrik > > On Dec 21, 2010, at 12:38 AM, Luke Kanies wrote: > >> Hi Kenn, >> >> The BNF is definitely not complete - partially because I couldn't quite >> figure out how complete I could even make it. Or rather, I didn't take the >> time to do so. Can BNF include regexes? >> >> In general, it should perfectly mirror the current state of Puppet's parser >> and lexer - that is, <type> should be defined as Puppet does, if at all >> possible[1]. I'd like to have it fleshed out with all of the regexes, and >> I'd much appreciate help in doing so. >> >> 1 - https://github.com/lak/puppet/blob/master/lib/puppet/parser/lexer.rb >> >> On Dec 20, 2010, at 2:28 PM, Kenn Hussey wrote: >> >>> After looking at the BNF in more detail, I have a couple of questions: >>> >>> 1. Do you plan to provide definitions (regular expressions?) for the >>> <name>, <uc_name>, <naked_string>, and <quoted_string> elements? >>> >>> 2. Shouldn't the definition for <parameters> be recursive, e.g., >>> <parameter> "," <parameters> instead of <parameter> "," <parameter>? >>> And if so, is <optional_comma> really needed? >>> >>> 3. Any further thoughts on what a suitable regular expression for >>> <type> might be? >>> >>> Thanks, >>> >>> Kenn >>> >>> >>> On Dec 20, 1:52 pm, Kenn Hussey <[email protected]> wrote: >>>> Luke, >>>> >>>> From the looks of things, this is quite relevant to the Puppet-related >>>> work we're doing at Cloudsmith (see Henrik Lindberg's recent post to >>>> the users group). We'd definitely like to help out, especially on the >>>> Java front (most of our work is currently in Java). We've started >>>> working with the BNF definition and will report back as soon as we >>>> have something interesting to share. >>>> >>>> Cheers, >>>> >>>> Kenn >>>> >>>> On Dec 2, 1:18 am, Luke Kanies <[email protected]> wrote: >>>> >>>> >>>> >>>>> Hi all, >>>> >>>>> Some have already noticed this, but I've begun a project to define and >>>>> produce a minimal data-focused subset of Puppet's language, just like >>>>> JSON is a data-focused subset of Javascript. I had initially called it >>>>> MPF (for Minimal Puppet Format), but we've decided to use our internal >>>>> name for it - p(0), or pzero: >>>> >>>>> https://github.com/lak/pzero >>>> >>>>> The only thing there so far is Jordan Sissel's work getting a Ragel >>>>> parser to work, along with my attempt at a BNF definition. My hope is to >>>>> have implementations in many languages: >>>> >>>>> * Ruby >>>>> * Python >>>>> * C >>>>> * Javascript >>>>> * Java >>>> >>>>> And I'd like each of these to be able to both parse and generate the >>>>> format. >>>> >>>>> Jesse Wolfe first came up with this idea, and our goal is to have a >>>>> language that any project or tool can use to describe desired system >>>>> state. I'm especially interested in having tools for converting to and >>>>> from existing data formats, like the rpm and dpkg manifest formats. >>>> >>>>> So anyway, if this is interesting to you, I'd love help on it. We're >>>>> still in the formative stages of what it is and what it would do, but >>>>> we're pretty excited by the potential. One of the things we clearly need >>>>> to develop is a list of example files that each implementation could test >>>>> against. >>>> >>>>> -- >>>>> Tradition is what you resort to when you don't have the time or the >>>>> money to do it right. -- Kurt Herbert Alder >>>>> --------------------------------------------------------------------- >>>>> Luke Kanies -|- http://puppetlabs.com -|- +1(615)594-8199 >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Puppet Developers" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]. >>> For more options, visit this group at >>> http://groups.google.com/group/puppet-dev?hl=en. >>> >> >> >> -- >> Opportunity is missed by most people because it is dressed in overalls >> and looks like work. -- Thomas A. Edison >> --------------------------------------------------------------------- >> Luke Kanies -|- http://puppetlabs.com -|- +1(615)594-8199 >> >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Developers" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/puppet-dev?hl=en. >> > > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Developers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/puppet-dev?hl=en. -- Somebody has to do something, and it's just incredibly pathetic that it has to be us. --Jerry Garcia --------------------------------------------------------------------- Luke Kanies -|- http://puppetlabs.com -|- +1(615)594-8199 -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
