diff options
| author | Luke Kanies <luke@reductivelabs.com> | 2010-01-07 13:08:50 -0800 |
|---|---|---|
| committer | test branch <puppet-dev@googlegroups.com> | 2010-02-17 06:50:53 -0800 |
| commit | 67ef78d9f231661d0fdd6260d470cf0d06f1bac2 (patch) | |
| tree | 0fd49958832f3da98476c36fb9d8e4160f95873e /lib/puppet/parser | |
| parent | b82b4ef04282ca0006931562f60459a1591b6268 (diff) | |
| download | puppet-67ef78d9f231661d0fdd6260d470cf0d06f1bac2.tar.gz puppet-67ef78d9f231661d0fdd6260d470cf0d06f1bac2.tar.xz puppet-67ef78d9f231661d0fdd6260d470cf0d06f1bac2.zip | |
Removing Interpreter class
It's no longer necessary, given the new ResourceTypeCollection
class.
Signed-off-by: Luke Kanies <luke@reductivelabs.com>
Diffstat (limited to 'lib/puppet/parser')
| -rw-r--r-- | lib/puppet/parser/compiler.rb | 7 | ||||
| -rw-r--r-- | lib/puppet/parser/grammar.ra | 1 | ||||
| -rw-r--r-- | lib/puppet/parser/interpreter.rb | 69 | ||||
| -rw-r--r-- | lib/puppet/parser/parser.rb | 5 |
4 files changed, 9 insertions, 73 deletions
diff --git a/lib/puppet/parser/compiler.rb b/lib/puppet/parser/compiler.rb index f9c8f70ae..25b064195 100644 --- a/lib/puppet/parser/compiler.rb +++ b/lib/puppet/parser/compiler.rb @@ -14,6 +14,13 @@ class Puppet::Parser::Compiler include Puppet::Util::Errors include Puppet::Parser::ResourceTypeCollectionHelper + def self.compile(node) + new(node).compile.to_resource + rescue => detail + puts detail.backtrace if Puppet[:trace] + raise Puppet::Error, "#{detail} on node #{node.name}" + end + attr_reader :node, :facts, :collections, :catalog, :node_scope, :resources # Add a collection to the global list. diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra index 76a82e38e..0e090187d 100644 --- a/lib/puppet/parser/grammar.ra +++ b/lib/puppet/parser/grammar.ra @@ -838,7 +838,6 @@ require 'puppet' require 'puppet/util/loadedfile' require 'puppet/parser/lexer' require 'puppet/parser/ast' -#require 'puppet/parser/interpreter' module Puppet class ParseError < Puppet::Error; end diff --git a/lib/puppet/parser/interpreter.rb b/lib/puppet/parser/interpreter.rb deleted file mode 100644 index eea9afcad..000000000 --- a/lib/puppet/parser/interpreter.rb +++ /dev/null @@ -1,69 +0,0 @@ -require 'puppet' -require 'timeout' -require 'puppet/rails' -require 'puppet/util/methodhelper' -require 'puppet/parser/parser' -require 'puppet/parser/compiler' -require 'puppet/parser/scope' - -# The interpreter is a very simple entry-point class that -# manages the existence of the parser (e.g., replacing it -# when files are reparsed). You can feed it a node and -# get the node's catalog back. -class Puppet::Parser::Interpreter - include Puppet::Util - - attr_accessor :usenodes - - include Puppet::Util::Errors - - # evaluate our whole tree - def compile(node) - begin - return Puppet::Parser::Compiler.new(node).compile.to_resource - rescue => detail - puts detail.backtrace if Puppet[:trace] - raise Puppet::Error, detail.to_s + " on node %s" % node.name - end - end - - # create our interpreter - def initialize - @parsers = {} - end - - # Return the parser for a specific environment. - def parser(environment) - if ! @parsers[environment] or @parsers[environment].reparse? - # This will throw an exception if it does not succeed. - @parsers[environment] = create_parser(environment) - end - @parsers[environment] - end - - private - - # Create a new parser object and pre-parse the configuration. - def create_parser(environment) - begin - parser = Puppet::Parser::Parser.new(environment) - if code = Puppet.settings.uninterpolated_value(:code, environment) and code != "" - parser.string = code - else - file = Puppet.settings.value(:manifest, environment) - parser.file = file - end - parser.parse - return parser - rescue => detail - msg = "Could not parse" - if environment and environment != "" - msg += " for environment %s" % environment - end - msg += ": %s" % detail.to_s - error = Puppet::Error.new(msg) - error.set_backtrace(detail.backtrace) - raise error - end - end -end diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb index 7e9235f66..a3dc5be9b 100644 --- a/lib/puppet/parser/parser.rb +++ b/lib/puppet/parser/parser.rb @@ -11,7 +11,6 @@ require 'puppet' require 'puppet/util/loadedfile' require 'puppet/parser/lexer' require 'puppet/parser/ast' -#require 'puppet/parser/interpreter' module Puppet class ParseError < Puppet::Error; end @@ -29,7 +28,7 @@ module Puppet class Parser < Racc::Parser -module_eval <<'..end grammar.ra modeval..id884310a196', 'grammar.ra', 853 +module_eval <<'..end grammar.ra modeval..id8da59540c6', 'grammar.ra', 852 # It got too annoying having code in a file that needs to be compiled. require 'puppet/parser/parser_support' @@ -41,7 +40,7 @@ require 'puppet/parser/parser_support' # $Id$ -..end grammar.ra modeval..id884310a196 +..end grammar.ra modeval..id8da59540c6 ##### racc 1.4.5 generates ### |
