Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-5906

Native Puppet Parser - make puppet use native parse and validate

    XMLWordPrintable

Details

    • Epic
    • Status: Closed
    • Normal
    • Resolution: Won't Do
    • None
    • None
    • None
    • None
    • Native Puppet Parser
    • Agent
    • New Feature
    • YES, WE WILL HAVE A RELEAS NOTE FOR THIS FEATURE

    Description

      This epic is for work that aims at making it possible for the Ruby Puppet Runtime to benefit from a native (C++) implementation of lexer/parser/validator by getting increased performance and throughout in every compilation.

      This is the starting point for many features to come and we have to constrain what we are implementing to get early feedback and fix the smaller problems before they get to big.

      The simple principle that this is built on is that:

      If there is a fast loading .xpp file that contains already parsed and validated AST then the parser can use that instead of performing the chain of lexing/parsing/building-AST/validating before it can start evaluating the AST.

      From a user perspective this should be completely transparent. (Except naturally opting in/out when this feature is new and experimental).

      As said earlier, this is the starting point enabling many interesting use cases:

      • pre parsing everything in a module
      • zipping up all .xpp files and signing them
      • re-building all stale .xpp files at code deploy time
      • polyglot implementations (other languages can generate code)
      • etc.

      However, this epic is not about all of the future possibilities.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              henrik.lindberg Henrik Lindberg
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support