diff options
| author | lutter <lutter@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-03-31 23:33:17 +0000 |
|---|---|---|
| committer | lutter <lutter@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-03-31 23:33:17 +0000 |
| commit | c7ae8396c420f862cda8f6121e505473abfd3e64 (patch) | |
| tree | eb6a16b9ff5750c5fff078ce8795f548e676fb8f /lib/puppet/parser | |
| parent | 9b1e8d55363aa67e9e981b7977ed6eded8026b68 (diff) | |
| download | puppet-c7ae8396c420f862cda8f6121e505473abfd3e64.tar.gz puppet-c7ae8396c420f862cda8f6121e505473abfd3e64.tar.xz puppet-c7ae8396c420f862cda8f6121e505473abfd3e64.zip | |
Manifests can now specify node names with fully qualified domain names, too.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1047 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/parser')
| -rw-r--r-- | lib/puppet/parser/ast/leaf.rb | 3 | ||||
| -rw-r--r-- | lib/puppet/parser/grammar.ra | 40 | ||||
| -rw-r--r-- | lib/puppet/parser/interpreter.rb | 6 | ||||
| -rw-r--r-- | lib/puppet/parser/lexer.rb | 5 | ||||
| -rw-r--r-- | lib/puppet/parser/parser.rb | 621 |
5 files changed, 381 insertions, 294 deletions
diff --git a/lib/puppet/parser/ast/leaf.rb b/lib/puppet/parser/ast/leaf.rb index b0f9cca04..eeeee45fd 100644 --- a/lib/puppet/parser/ast/leaf.rb +++ b/lib/puppet/parser/ast/leaf.rb @@ -69,6 +69,9 @@ class Puppet::Parser::AST # Lower-case words. class Name < AST::Leaf; end + # Host names, either fully qualified or just the short name + class HostName < AST::Leaf; end + # A simple variable. This object is only used during interpolation; # the VarDef class is used for assignment. class Variable < Name diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra index 7c8925146..f2e5df416 100644 --- a/lib/puppet/parser/grammar.ra +++ b/lib/puppet/parser/grammar.ra @@ -7,7 +7,7 @@ class Puppet::Parser::Parser token LBRACK DQTEXT SQTEXT RBRACK LBRACE RBRACE SYMBOL FARROW COMMA TRUE FALSE EQUALS token QMARK LPAREN RPAREN ISEQUAL GREATEREQUAL GREATERTHAN LESSTHAN LESSEQUAL NOTEQUAL token IF ELSE IMPORT DEFINE ELSIF VARIABLE CLASS INHERITS NODE BOOLEAN DOT COLON TYPE -token NAME SEMIC CASE DEFAULT INCLUDE +token NAME HOSTNAME SEMIC CASE DEFAULT INCLUDE rule program: statements { @@ -549,7 +549,7 @@ hostclass: CLASS NAME parent LBRACE statements RBRACE { result = AST::ClassDef.new(args) } -nodedef: NODE names parent LBRACE statements RBRACE { +nodedef: NODE hostnames parent LBRACE statements RBRACE { unless val[1].instance_of?(AST::ASTArray) val[1] = AST::ASTArray.new( :line => val[1].line, @@ -568,7 +568,7 @@ nodedef: NODE names parent LBRACE statements RBRACE { args[:parentclass] = val[2] end result = AST::NodeDef.new(args) -} | NODE names parent LBRACE RBRACE { +} | NODE hostnames parent LBRACE RBRACE { unless val[1].instance_of?(AST::ASTArray) val[1] = AST::ASTArray.new( :line => val[1].line, @@ -593,8 +593,8 @@ nodedef: NODE names parent LBRACE statements RBRACE { result = AST::NodeDef.new(args) } -names: name - | names name { +hostnames: hostname + | hostnames hostname { if val[0].instance_of?(AST::ASTArray) result = val[0] result.push val[1] @@ -607,6 +607,30 @@ names: name end } +# A hostname; lexically, a hostname can look like +# a NAME, TYPE, or HOSTNAME +hostname: NAME { + result = AST::HostName.new( + :line => @lexer.line, + :file => @lexer.file, + :value => val[0] + ) +} +| TYPE { + result = AST::HostName.new( + :line => @lexer.line, + :file => @lexer.file, + :value => val[0] + ) +} +| HOSTNAME { + result = AST::HostName.new( + :line => @lexer.line, + :file => @lexer.file, + :value => val[0] + ) +} + nothing: { result = AST::ASTArray.new( :line => @lexer.line, @@ -827,4 +851,10 @@ def string=(string) @lexer.string = string end +# Make emacs happy +# Local Variables: +# mode: ruby +# End: + # $Id$ + diff --git a/lib/puppet/parser/interpreter.rb b/lib/puppet/parser/interpreter.rb index 73234fbf9..c432e39a8 100644 --- a/lib/puppet/parser/interpreter.rb +++ b/lib/puppet/parser/interpreter.rb @@ -165,10 +165,12 @@ module Puppet # but for now just make a simple array names = [client] - # if the client name is fully qualied (which is normally will be) - # add the short name + # Make sure both the fqdn and the short name of the + # host can be used in the manifest if client =~ /\./ names << client.sub(/\..+/,'') + else + names << "#{client}.#{facts['domain']}" end begin diff --git a/lib/puppet/parser/lexer.rb b/lib/puppet/parser/lexer.rb index 1244e111a..8b3888553 100644 --- a/lib/puppet/parser/lexer.rb +++ b/lib/puppet/parser/lexer.rb @@ -21,9 +21,9 @@ module Puppet %r{\}} => :RBRACE, %r{\(} => :LPAREN, %r{\)} => :RPAREN, - %r{"} => :DQUOTE, + %r{\"} => :DQUOTE, %r{\n} => :RETURN, - %r{'} => :SQUOTE, + %r{\'} => :SQUOTE, %r{=} => :EQUALS, %r{==} => :ISEQUAL, %r{>=} => :GREATEREQUAL, @@ -40,6 +40,7 @@ module Puppet %r{=>} => :FARROW, %r{[a-z][-\w]*} => :NAME, %r{[A-Z][-\w]*} => :TYPE, + %r{[0-9a-zA-Z\-]+\.[0-9a-zA-Z\-.]+} => :HOSTNAME, %r{[0-9]+} => :NUMBER, %r{\$\w+} => :VARIABLE } diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb index f5d74a241..aa0f90f2d 100644 --- a/lib/puppet/parser/parser.rb +++ b/lib/puppet/parser/parser.rb @@ -1,6 +1,6 @@ # # DO NOT MODIFY!!!! -# This file is automatically generated by racc 1.4.4 +# This file is automatically generated by racc 1.4.5 # from racc grammer file "grammar.ra". # @@ -29,7 +29,7 @@ module Puppet class Parser < Racc::Parser -module_eval <<'..end grammar.ra modeval..id21b94256f7', 'grammar.ra', 717 +module_eval <<'..end grammar.ra modeval..id21b05e2662', 'grammar.ra', 741 attr_reader :file attr_accessor :files @@ -143,289 +143,304 @@ def string=(string) @lexer.string = string end +# Make emacs happy +# Local Variables: +# mode: ruby +# End: + # $Id$ -..end grammar.ra modeval..id21b94256f7 -##### racc 1.4.4 generates ### +..end grammar.ra modeval..id21b05e2662 + +##### racc 1.4.5 generates ### racc_reduce_table = [ 0, 0, :racc_error, - 1, 42, :_reduce_1, - 1, 43, :_reduce_none, - 2, 43, :_reduce_3, - 1, 44, :_reduce_none, - 1, 44, :_reduce_none, - 1, 44, :_reduce_none, - 1, 44, :_reduce_none, - 1, 44, :_reduce_none, - 1, 44, :_reduce_none, - 1, 44, :_reduce_none, + 1, 43, :_reduce_1, 1, 44, :_reduce_none, - 2, 49, :_reduce_12, - 1, 53, :_reduce_none, - 3, 53, :_reduce_14, + 2, 44, :_reduce_3, + 1, 45, :_reduce_none, + 1, 45, :_reduce_none, + 1, 45, :_reduce_none, + 1, 45, :_reduce_none, + 1, 45, :_reduce_none, + 1, 45, :_reduce_none, + 1, 45, :_reduce_none, + 1, 45, :_reduce_none, + 2, 50, :_reduce_12, 1, 54, :_reduce_none, - 1, 54, :_reduce_none, - 5, 45, :_reduce_17, - 5, 45, :_reduce_18, - 5, 45, :_reduce_19, - 4, 62, :_reduce_20, - 1, 57, :_reduce_none, - 3, 57, :_reduce_22, - 0, 58, :_reduce_none, + 3, 54, :_reduce_14, + 1, 55, :_reduce_none, + 1, 55, :_reduce_none, + 5, 46, :_reduce_17, + 5, 46, :_reduce_18, + 5, 46, :_reduce_19, + 4, 63, :_reduce_20, 1, 58, :_reduce_none, - 1, 55, :_reduce_25, - 1, 61, :_reduce_26, - 1, 63, :_reduce_none, - 1, 63, :_reduce_none, - 1, 63, :_reduce_none, - 1, 63, :_reduce_none, - 1, 63, :_reduce_none, - 1, 63, :_reduce_none, - 3, 46, :_reduce_33, - 0, 59, :_reduce_34, - 1, 59, :_reduce_35, - 3, 59, :_reduce_36, - 3, 68, :_reduce_37, - 1, 69, :_reduce_none, - 3, 69, :_reduce_39, - 1, 67, :_reduce_none, - 1, 67, :_reduce_none, - 1, 67, :_reduce_none, - 1, 67, :_reduce_none, - 1, 67, :_reduce_none, - 1, 67, :_reduce_none, - 1, 67, :_reduce_none, - 1, 67, :_reduce_none, - 1, 67, :_reduce_none, - 1, 64, :_reduce_49, - 1, 64, :_reduce_50, - 1, 71, :_reduce_51, - 4, 72, :_reduce_52, - 5, 47, :_reduce_53, - 1, 73, :_reduce_none, - 2, 73, :_reduce_55, - 5, 74, :_reduce_56, - 4, 74, :_reduce_57, - 1, 75, :_reduce_none, - 3, 75, :_reduce_59, - 3, 65, :_reduce_60, - 1, 77, :_reduce_none, - 3, 77, :_reduce_62, - 1, 79, :_reduce_none, - 3, 79, :_reduce_64, - 3, 78, :_reduce_65, - 1, 76, :_reduce_66, - 1, 76, :_reduce_67, - 1, 76, :_reduce_none, - 1, 76, :_reduce_none, - 1, 76, :_reduce_70, + 3, 58, :_reduce_22, + 0, 59, :_reduce_none, + 1, 59, :_reduce_none, + 1, 56, :_reduce_25, + 1, 62, :_reduce_26, + 1, 64, :_reduce_none, + 1, 64, :_reduce_none, + 1, 64, :_reduce_none, + 1, 64, :_reduce_none, + 1, 64, :_reduce_none, + 1, 64, :_reduce_none, + 3, 47, :_reduce_33, + 0, 60, :_reduce_34, + 1, 60, :_reduce_35, + 3, 60, :_reduce_36, + 3, 69, :_reduce_37, + 1, 70, :_reduce_none, + 3, 70, :_reduce_39, + 1, 68, :_reduce_none, + 1, 68, :_reduce_none, + 1, 68, :_reduce_none, + 1, 68, :_reduce_none, + 1, 68, :_reduce_none, + 1, 68, :_reduce_none, + 1, 68, :_reduce_none, + 1, 68, :_reduce_none, + 1, 68, :_reduce_none, + 1, 65, :_reduce_49, + 1, 65, :_reduce_50, + 1, 72, :_reduce_51, + 4, 73, :_reduce_52, + 5, 48, :_reduce_53, + 1, 74, :_reduce_none, + 2, 74, :_reduce_55, + 5, 75, :_reduce_56, + 4, 75, :_reduce_57, 1, 76, :_reduce_none, - 2, 48, :_reduce_72, - 6, 50, :_reduce_73, - 5, 50, :_reduce_74, - 6, 51, :_reduce_75, - 5, 51, :_reduce_76, - 6, 52, :_reduce_77, - 5, 52, :_reduce_78, - 1, 82, :_reduce_none, - 2, 82, :_reduce_80, - 0, 83, :_reduce_81, + 3, 76, :_reduce_59, + 3, 66, :_reduce_60, + 1, 78, :_reduce_none, + 3, 78, :_reduce_62, 1, 80, :_reduce_none, - 3, 80, :_reduce_83, - 3, 80, :_reduce_84, - 1, 84, :_reduce_none, - 3, 84, :_reduce_86, - 3, 85, :_reduce_87, - 1, 85, :_reduce_88, + 3, 80, :_reduce_64, + 3, 79, :_reduce_65, + 1, 77, :_reduce_66, + 1, 77, :_reduce_67, + 1, 77, :_reduce_none, + 1, 77, :_reduce_none, + 1, 77, :_reduce_70, + 1, 77, :_reduce_none, + 2, 49, :_reduce_72, + 6, 51, :_reduce_73, + 5, 51, :_reduce_74, + 6, 52, :_reduce_75, + 5, 52, :_reduce_76, + 6, 53, :_reduce_77, + 5, 53, :_reduce_78, + 1, 83, :_reduce_none, + 2, 83, :_reduce_80, + 1, 84, :_reduce_81, + 1, 84, :_reduce_82, + 1, 84, :_reduce_83, + 0, 85, :_reduce_84, 1, 81, :_reduce_none, - 2, 81, :_reduce_90, - 1, 56, :_reduce_91, - 3, 66, :_reduce_92, - 1, 70, :_reduce_none, - 1, 70, :_reduce_none, - 0, 60, :_reduce_none, - 1, 60, :_reduce_96 ] + 3, 81, :_reduce_86, + 3, 81, :_reduce_87, + 1, 86, :_reduce_none, + 3, 86, :_reduce_89, + 3, 87, :_reduce_90, + 1, 87, :_reduce_91, + 1, 82, :_reduce_none, + 2, 82, :_reduce_93, + 1, 57, :_reduce_94, + 3, 67, :_reduce_95, + 1, 71, :_reduce_none, + 1, 71, :_reduce_none, + 0, 61, :_reduce_none, + 1, 61, :_reduce_99 ] -racc_reduce_n = 97 +racc_reduce_n = 100 -racc_shift_n = 161 +racc_shift_n = 164 racc_action_table = [ - 33, 24, 25, 136, 89, 33, 24, 25, 82, -66, - 33, 24, 25, 131, 7, 33, 24, 25, 78, 130, - 33, 24, 25, 7, 37, 72, 37, 135, 82, 23, - 43, 37, 7, 34, 35, 43, 37, 38, 34, 35, - 43, 37, 38, 34, 35, 43, 37, 38, 34, 35, - 43, 108, 38, 34, 35, 109, 110, 38, 33, 24, - 25, 24, 25, 33, 24, 25, 78, 76, 33, 24, - 25, -68, 89, 33, 24, 25, 91, 37, 33, 24, - 25, 116, 117, -68, 37, 7, 119, 120, 43, 37, - 46, 34, 61, 43, 37, 38, 34, 35, 43, 37, - 38, 34, 35, 43, 37, 38, 34, 35, 43, -71, - 38, 34, 35, 24, 25, 38, 123, 78, 24, 25, - 93, -66, 133, 24, 25, 128, 113, 129, 24, 25, - 92, 132, -67, 24, 25, -69, 73, 153, 37, 109, - 110, 91, 43, 37, 140, 100, 101, 43, 37, 38, - 100, 101, 43, 37, 38, 100, 101, 43, 37, 38, - 100, 101, 43, 141, 38, 100, 101, 24, 25, 38, - 70, 6, 9, 54, 13, 16, 91, 20, 7, 88, - 7, 4, 7, 142, 11, 150, 17, 47, -69, 46, - 45, 27, 37, 86, 23, 83, 43, nil, nil, 100, - 101, 6, 9, 38, 13, 16, 160, 20, nil, nil, - nil, 4, 7, nil, 11, nil, 17, nil, nil, nil, - nil, nil, 157, nil, 6, 9, nil, 13, 16, nil, - 20, nil, nil, nil, 4, 7, nil, 11, 126, 17, - 6, 9, nil, 13, 16, nil, 20, nil, nil, nil, - 4, 7, nil, 11, 144, 17, 6, 9, nil, 13, - 16, nil, 20, nil, nil, nil, 4, 7, nil, 11, - 156, 17, 6, 9, nil, 13, 16, nil, 20, nil, - nil, nil, 4, 7, nil, 11, 155, 17, 6, 9, - nil, 13, 16, nil, 20, nil, nil, nil, 4, 7, - nil, 11, 147, 17, 6, 9, nil, 13, 16, nil, - 20, nil, nil, nil, 4, 7, nil, 11, nil, 17, - 6, 9, nil, 13, 16, nil, 20, nil, nil, nil, - 4, 7, nil, 11, nil, 17, 6, 9, nil, 13, - 16, nil, 20, nil, nil, nil, 4, 7, nil, 11, - nil, 17 ] + 33, 25, 26, 143, 39, 39, 33, 25, 26, 53, + 54, 55, 7, 7, 132, 33, 25, 26, 84, 90, + 131, 33, 25, 26, -66, 76, 39, 142, 84, 24, + 44, 82, 39, 37, 38, 7, 44, -68, 41, 37, + 38, 39, 25, 26, 41, 44, 118, 39, 37, 38, + 119, 44, 90, 41, 37, 38, 33, 25, 26, 41, + 82, 94, 33, 25, 26, 53, 54, 55, -68, 122, + 110, 33, 25, 26, 112, 113, 48, 33, 25, 26, + 124, 155, 39, 112, 113, -71, 44, 126, 39, 37, + 38, 84, 44, 100, 41, 37, 38, 39, 25, 26, + 41, 44, 129, 39, 37, 38, 130, 44, 95, 41, + 37, 64, 33, 25, 26, 41, -66, 135, 33, 25, + 26, -67, -69, 39, 79, 94, 75, 44, 72, 146, + 104, 106, 58, 25, 26, 41, 107, 94, 39, 25, + 26, 92, 44, 7, 39, 37, 38, -69, 44, 48, + 41, 37, 38, 25, 26, 89, 41, 156, 39, 25, + 26, 47, 44, 46, 39, 104, 106, 28, 44, 86, + 41, 104, 106, 25, 26, 24, 41, 140, 39, 138, + nil, nil, 44, nil, 39, 104, 106, nil, 44, nil, + 41, 104, 106, 145, nil, nil, 41, nil, 39, nil, + nil, nil, 44, nil, nil, 104, 106, nil, nil, nil, + 41, 6, 9, 163, 13, 15, nil, 20, nil, nil, + nil, 4, 7, nil, nil, 12, nil, 18, nil, nil, + 148, 6, 9, nil, 13, 15, nil, 20, nil, nil, + nil, 4, 7, nil, nil, 12, nil, 18, 6, 9, + 152, 13, 15, nil, 20, nil, nil, nil, 4, 7, + nil, nil, 12, nil, 18, nil, nil, 134, 6, 9, + nil, 13, 15, nil, 20, nil, nil, nil, 4, 7, + nil, nil, 12, nil, 18, 6, 9, 162, 13, 15, + nil, 20, nil, nil, nil, 4, 7, nil, nil, 12, + nil, 18, nil, nil, 159, 6, 9, nil, 13, 15, + nil, 20, nil, nil, nil, 4, 7, nil, nil, 12, + nil, 18, 6, 9, 158, 13, 15, nil, 20, nil, + nil, nil, 4, 7, nil, nil, 12, nil, 18, nil, + nil, nil, 6, 9, nil, 13, 15, nil, 20, nil, + nil, nil, 4, 7, nil, nil, 12, nil, 18, 6, + 9, nil, 13, 15, nil, 20, nil, nil, nil, 4, + 7, nil, nil, 12, nil, 18, 6, 9, nil, 13, + 15, nil, 20, nil, nil, nil, 4, 7, nil, nil, + 12, nil, 18 ] racc_action_check = [ - 107, 107, 107, 105, 61, 33, 33, 33, 53, 61, - 45, 45, 45, 96, 53, 72, 72, 72, 92, 96, - 11, 11, 11, 70, 83, 29, 107, 105, 47, 29, - 107, 33, 83, 107, 107, 33, 45, 107, 33, 33, - 45, 72, 33, 45, 45, 72, 11, 45, 72, 72, - 11, 75, 72, 11, 11, 75, 75, 11, 23, 23, - 23, 6, 6, 140, 140, 140, 46, 42, 89, 89, - 89, 41, 78, 88, 88, 88, 79, 17, 128, 128, - 128, 80, 82, 67, 23, 17, 85, 87, 23, 140, - 40, 23, 23, 140, 89, 23, 140, 140, 89, 88, - 140, 89, 89, 88, 128, 89, 88, 88, 128, 36, - 88, 128, 128, 136, 136, 128, 90, 91, 102, 102, - 69, 35, 102, 76, 76, 94, 76, 95, 152, 152, - 66, 98, 34, 113, 113, 31, 30, 139, 136, 139, - 139, 62, 136, 102, 114, 136, 136, 102, 76, 136, - 102, 102, 76, 152, 102, 76, 76, 152, 113, 76, - 152, 152, 113, 115, 152, 113, 113, 73, 73, 113, - 27, 22, 22, 21, 22, 22, 125, 22, 20, 60, - 131, 22, 22, 116, 22, 135, 22, 16, 58, 14, - 13, 9, 73, 54, 1, 50, 73, nil, nil, 73, - 73, 116, 116, 73, 116, 116, 158, 116, nil, nil, - nil, 116, 116, nil, 116, nil, 116, nil, nil, nil, - nil, nil, 150, nil, 158, 158, nil, 158, 158, nil, - 158, nil, nil, nil, 158, 158, nil, 158, 93, 158, - 150, 150, nil, 150, 150, nil, 150, nil, nil, nil, - 150, 150, nil, 150, 119, 150, 93, 93, nil, 93, - 93, nil, 93, nil, nil, nil, 93, 93, nil, 93, - 145, 93, 119, 119, nil, 119, 119, nil, 119, nil, - nil, nil, 119, 119, nil, 119, 143, 119, 145, 145, - nil, 145, 145, nil, 145, nil, nil, nil, 145, 145, - nil, 145, 127, 145, 143, 143, nil, 143, 143, nil, - 143, nil, nil, nil, 143, 143, nil, 143, nil, 143, - 127, 127, nil, 127, 127, nil, 127, nil, nil, nil, - 127, 127, nil, 127, nil, 127, 0, 0, nil, 0, - 0, nil, 0, nil, nil, nil, 0, 0, nil, 0, - nil, 0 ] + 76, 76, 76, 117, 18, 86, 46, 46, 46, 20, + 20, 20, 18, 86, 98, 33, 33, 33, 95, 64, + 98, 111, 111, 111, 64, 32, 76, 117, 48, 32, + 76, 47, 46, 76, 76, 72, 46, 45, 76, 46, + 46, 33, 6, 6, 46, 33, 81, 111, 33, 33, + 82, 111, 84, 33, 111, 111, 90, 90, 90, 111, + 56, 85, 12, 12, 12, 56, 56, 56, 71, 87, + 78, 92, 92, 92, 78, 78, 43, 24, 24, 24, + 91, 137, 90, 137, 137, 40, 90, 93, 12, 90, + 90, 94, 12, 73, 90, 12, 12, 92, 107, 107, + 12, 92, 96, 24, 92, 92, 97, 24, 70, 92, + 24, 24, 129, 129, 129, 24, 38, 101, 135, 135, + 135, 37, 35, 107, 34, 66, 29, 107, 28, 120, + 107, 107, 22, 75, 75, 107, 75, 128, 129, 143, + 143, 65, 129, 132, 135, 129, 129, 62, 135, 16, + 129, 135, 135, 154, 154, 58, 135, 142, 75, 79, + 79, 15, 75, 13, 143, 75, 75, 9, 143, 52, + 75, 143, 143, 115, 115, 2, 143, 115, 154, 109, + nil, nil, 154, nil, 79, 154, 154, nil, 79, nil, + 154, 79, 79, 118, nil, nil, 79, nil, 115, nil, + nil, nil, 115, nil, nil, 115, 115, nil, nil, nil, + 115, 118, 118, 161, 118, 118, nil, 118, nil, nil, + nil, 118, 118, nil, nil, 118, nil, 118, nil, nil, + 122, 161, 161, nil, 161, 161, nil, 161, nil, nil, + nil, 161, 161, nil, nil, 161, nil, 161, 122, 122, + 133, 122, 122, nil, 122, nil, nil, nil, 122, 122, + nil, nil, 122, nil, 122, nil, nil, 100, 133, 133, + nil, 133, 133, nil, 133, nil, nil, nil, 133, 133, + nil, nil, 133, nil, 133, 100, 100, 156, 100, 100, + nil, 100, nil, nil, nil, 100, 100, nil, nil, 100, + nil, 100, nil, nil, 147, 156, 156, nil, 156, 156, + nil, 156, nil, nil, nil, 156, 156, nil, nil, 156, + nil, 156, 147, 147, 144, 147, 147, nil, 147, nil, + nil, nil, 147, 147, nil, nil, 147, nil, 147, nil, + nil, nil, 144, 144, nil, 144, 144, nil, 144, nil, + nil, nil, 144, 144, nil, nil, 144, nil, 144, 1, + 1, nil, 1, 1, nil, 1, nil, nil, nil, 1, + 1, nil, nil, 1, nil, 1, 0, 0, nil, 0, + 0, nil, 0, nil, nil, nil, 0, 0, nil, nil, + 0, nil, 0 ] racc_action_pointer = [ - 311, 188, nil, nil, nil, nil, 58, nil, nil, 155, - nil, 18, nil, 177, 183, nil, 151, 49, nil, nil, - 142, 173, 146, 56, nil, nil, nil, 155, nil, 23, - 130, 121, nil, 3, 118, 107, 95, nil, nil, nil, - 84, 57, 53, nil, nil, 8, 30, -2, nil, nil, - 185, nil, nil, -22, 193, nil, nil, nil, 174, nil, - 142, -5, 131, nil, nil, nil, 96, 69, nil, 114, - -13, nil, 13, 164, nil, 46, 120, nil, 63, 66, - 75, nil, 46, -4, nil, 80, nil, 80, 71, 66, - 109, 81, -18, 231, 112, 111, 3, nil, 126, nil, - nil, nil, 115, nil, nil, -7, nil, -2, nil, nil, - nil, nil, nil, 130, 135, 156, 176, nil, nil, 247, - nil, nil, nil, nil, nil, 166, nil, 295, 76, nil, - nil, 144, nil, nil, nil, 179, 110, nil, nil, 130, - 61, nil, nil, 279, nil, 263, nil, nil, nil, nil, - 215, nil, 125, nil, nil, nil, nil, nil, 199, nil, - nil ] + 351, 334, 169, nil, nil, nil, 39, nil, nil, 131, + nil, nil, 60, 150, nil, 125, 143, nil, -24, nil, + -26, nil, 132, nil, 75, nil, nil, nil, 113, 112, + nil, nil, 23, 13, 118, 108, nil, 107, 102, nil, + 71, nil, nil, 70, nil, 23, 4, 1, -8, nil, + nil, nil, 159, nil, nil, nil, 30, nil, 155, nil, + nil, nil, 133, nil, 10, 103, 115, nil, nil, nil, + 74, 54, -1, 87, nil, 130, -2, nil, 65, 156, + nil, 40, 14, nil, 43, 51, -23, 63, nil, nil, + 54, 73, 69, 80, 55, -18, 89, 90, 4, nil, + 260, 108, nil, nil, nil, nil, nil, 95, nil, 174, + nil, 19, nil, nil, nil, 170, nil, -7, 186, nil, + 122, nil, 223, nil, nil, nil, nil, nil, 127, 110, + nil, nil, 107, 243, nil, 116, nil, 74, nil, nil, + nil, nil, 151, 136, 317, nil, nil, 297, nil, nil, + nil, nil, nil, nil, 150, nil, 280, nil, nil, nil, + nil, 206, nil, nil ] racc_action_default = [ - -97, -97, -2, -4, -26, -5, -97, -25, -6, -97, - -7, -97, -8, -97, -97, -9, -97, -97, -10, -11, - -97, -97, -1, -34, -49, -50, -72, -81, -47, -41, - -97, -46, -45, -97, -26, -25, -43, -91, -70, -48, - -42, -40, -97, -51, -44, -97, -34, -81, -15, -16, - -12, -13, -79, -81, -97, -3, -32, -28, -31, -35, - -23, -25, -95, -71, -29, -21, -97, -27, -30, -97, - -81, -82, -97, -97, -38, -97, -97, -33, -97, -95, - -97, -89, -97, -97, -80, -97, 161, -97, -24, -97, - -97, -96, -34, -97, -88, -97, -97, -85, -97, -69, - -67, -66, -97, -54, -68, -97, -58, -97, -92, -93, - -94, -60, -61, -97, -97, -97, -97, -90, -14, -97, - -17, -22, -37, -18, -36, -95, -74, -97, -97, -83, - -84, -97, -52, -53, -55, -97, -97, -39, -63, -97, - -97, -19, -76, -97, -78, -97, -20, -73, -87, -86, - -97, -59, -97, -62, -65, -75, -77, -57, -97, -64, - -56 ] + -100, -1, -100, -2, -26, -4, -100, -25, -5, -100, + -6, -7, -100, -100, -8, -100, -100, -9, -100, -10, + -100, -11, -100, -3, -34, -49, -50, -72, -84, -100, + -44, -47, -41, -100, -100, -46, -45, -26, -25, -94, + -43, -70, -48, -42, -51, -40, -100, -84, -34, -13, + -15, -16, -12, -82, -81, -83, -84, -79, -100, -30, + -32, -28, -31, -35, -25, -23, -98, -71, -29, -21, + -100, -27, -84, -100, -85, -100, -100, -38, -100, -100, + -33, -100, -100, -92, -100, -98, -100, -100, -80, 164, + -100, -100, -24, -100, -99, -34, -91, -100, -100, -88, + -100, -100, -60, -69, -67, -61, -66, -100, -68, -100, + -95, -100, -96, -97, -58, -100, -54, -100, -100, -93, + -100, -14, -100, -37, -17, -22, -18, -36, -98, -100, + -86, -87, -100, -100, -74, -100, -63, -100, -52, -39, + -53, -55, -100, -100, -100, -76, -19, -100, -78, -20, + -90, -89, -73, -65, -100, -62, -100, -59, -75, -77, + -64, -100, -57, -56 ] racc_goto_table = [ - 22, 26, 55, 32, 51, 107, 97, 49, 112, 68, - 62, 71, 106, 58, 90, 114, 80, 103, 67, 50, - 75, 60, 85, 111, 102, 32, 30, 139, 40, 56, - 65, 115, 69, 79, 87, 53, 124, 32, 96, 21, - 64, 106, nil, nil, nil, 138, 134, nil, 74, nil, - 40, nil, 114, nil, 95, nil, nil, nil, nil, nil, - 77, nil, 40, 99, 32, nil, 99, 149, 104, 152, - 118, 104, nil, 49, 68, 151, 29, 146, 58, 125, - nil, 32, 48, 67, 159, 52, 63, 98, 57, 40, - nil, 114, 99, 127, 56, 121, nil, 104, 29, 32, - nil, nil, nil, 99, 122, 64, 40, 55, 104, nil, - 29, nil, nil, nil, nil, nil, 143, nil, 84, 145, - 32, nil, 137, 55, 40, 55, 99, nil, nil, nil, - nil, 104, 32, nil, nil, 94, 63, 29, 55, 63, - nil, nil, 99, 148, nil, 40, nil, 104, 48, nil, - 158, 63, nil, 57, 29, 154, nil, 40, nil, nil, - nil, nil, nil, nil, nil, 63, nil, nil, nil, nil, - nil, nil, 29, nil, nil, nil, 63, nil, nil, nil, + 23, 1, 27, 74, 105, 51, 67, 93, 69, 60, + 99, 62, 81, 111, 34, 66, 52, 36, 57, 59, + 71, 87, 49, 65, 116, 102, 120, 115, 137, 73, + 91, 56, 127, 78, 98, 77, 136, 22, 36, 85, + nil, nil, nil, nil, nil, nil, 32, 97, 80, nil, + nil, 36, 50, nil, 88, nil, nil, 67, 61, 101, + 141, 67, 103, 114, nil, nil, 103, 32, nil, 149, + 151, 108, 154, 51, 67, 108, 125, 60, 109, 62, + 32, 36, nil, 160, 43, nil, 128, 59, 71, 67, + 121, 101, 123, nil, 103, 36, 68, 67, nil, 114, + nil, 133, 103, 108, nil, 43, 96, nil, nil, nil, + 32, 108, nil, 139, nil, nil, 36, nil, 43, 144, + 50, nil, nil, 147, 32, 67, 61, 157, nil, nil, + 103, 150, 23, nil, 36, nil, 67, 153, 101, 108, + 36, 103, nil, 23, nil, 32, 23, nil, 43, nil, + 108, nil, nil, nil, nil, nil, nil, 161, nil, nil, + 23, nil, 43, 32, 68, nil, 96, nil, nil, 32, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 29, nil, nil, 94, nil, nil, 63, - nil, nil, nil, nil, nil, 29, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 63 ] + nil, nil, nil, 43, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, 43, nil, nil, nil, nil, nil, 43 ] racc_goto_check = [ - 2, 23, 3, 4, 13, 29, 44, 15, 37, 24, - 18, 42, 35, 15, 19, 35, 40, 33, 23, 12, - 28, 16, 40, 36, 32, 4, 26, 38, 20, 25, - 21, 19, 39, 18, 17, 41, 27, 4, 43, 1, - 20, 35, nil, nil, nil, 37, 33, nil, 26, nil, - 20, nil, 35, nil, 42, nil, nil, nil, nil, nil, - 26, nil, 20, 15, 4, nil, 15, 44, 23, 29, - 13, 23, nil, 15, 24, 35, 14, 19, 15, 18, - nil, 4, 14, 23, 37, 14, 30, 26, 14, 20, - nil, 35, 15, 2, 25, 21, nil, 23, 14, 4, - nil, nil, nil, 15, 26, 20, 20, 3, 23, nil, - 14, nil, nil, nil, nil, nil, 2, nil, 14, 2, - 4, nil, 26, 3, 20, 3, 15, nil, nil, nil, - nil, 23, 4, nil, nil, 14, 30, 14, 3, 30, - nil, nil, 15, 26, nil, 20, nil, 23, 14, nil, - 2, 30, nil, 14, 14, 26, nil, 20, nil, nil, - nil, nil, nil, nil, nil, 30, nil, nil, nil, nil, - nil, nil, 14, nil, nil, nil, 30, nil, nil, nil, + 3, 2, 23, 43, 37, 15, 30, 19, 21, 25, + 45, 15, 40, 29, 26, 18, 12, 4, 42, 24, + 23, 40, 13, 16, 33, 36, 19, 32, 38, 39, + 17, 41, 27, 28, 44, 26, 37, 1, 4, 18, + nil, nil, nil, nil, nil, nil, 14, 43, 26, nil, + nil, 4, 14, nil, 42, nil, nil, 30, 14, 35, + 33, 30, 15, 35, nil, nil, 15, 14, nil, 19, + 45, 23, 29, 15, 30, 23, 21, 25, 26, 15, + 14, 4, nil, 37, 20, nil, 18, 24, 23, 30, + 13, 35, 26, nil, 15, 4, 20, 30, nil, 35, + nil, 2, 15, 23, nil, 20, 14, nil, nil, nil, + 14, 23, nil, 26, nil, nil, 4, nil, 20, 2, + 14, nil, nil, 2, 14, 30, 14, 35, nil, nil, + 15, 26, 3, nil, 4, nil, 30, 26, 35, 23, + 4, 15, nil, 3, nil, 14, 3, nil, 20, nil, + 23, nil, nil, nil, nil, nil, nil, 2, nil, nil, + 3, nil, 20, 14, 20, nil, 14, nil, nil, 14, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 20, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 14, nil, nil, 14, nil, nil, 30, - nil, nil, nil, nil, nil, 14, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 30 ] + nil, 20, nil, nil, nil, nil, nil, 20 ] racc_goto_pointer = [ - nil, 39, 0, -20, -8, nil, nil, nil, nil, nil, - nil, nil, 2, -13, 65, -10, -2, -26, -13, -48, - 17, 7, nil, -5, -14, 6, 15, -55, -13, -70, - 63, nil, -49, -56, nil, -61, -53, -68, -86, 5, - -31, 15, -16, -32, -64 ] + nil, 37, 1, -1, 5, nil, nil, nil, nil, nil, + nil, nil, -2, 4, 34, -13, -1, -35, -9, -59, + 72, -16, nil, -4, -5, -15, 2, -62, 0, -65, + -18, nil, -52, -55, nil, -16, -50, -71, -79, 1, + -35, 11, -2, -25, -38, -62 ] racc_goto_default = [ - nil, nil, nil, 2, 3, 5, 8, 10, 12, 15, - 18, 19, nil, nil, 1, 31, nil, nil, nil, nil, - 14, nil, 66, 41, 44, 28, nil, 59, nil, nil, - 36, 39, nil, nil, 105, 42, nil, nil, nil, nil, - nil, nil, 81, nil, nil ] + nil, nil, nil, 3, 5, 8, 10, 11, 14, 17, + 19, 21, nil, nil, 2, 35, nil, nil, nil, nil, + 16, nil, 70, 45, 30, 31, nil, 63, nil, nil, + 40, 42, nil, nil, 117, 29, nil, nil, nil, nil, + nil, nil, nil, 83, nil, nil ] racc_token_table = { false => 0, @@ -465,14 +480,15 @@ racc_token_table = { :COLON => 34, :TYPE => 35, :NAME => 36, - :SEMIC => 37, - :CASE => 38, - :DEFAULT => 39, - :INCLUDE => 40 } + :HOSTNAME => 37, + :SEMIC => 38, + :CASE => 39, + :DEFAULT => 40, + :INCLUDE => 41 } racc_use_result_var = true -racc_nt_base = 41 +racc_nt_base = 42 Racc_arg = [ racc_action_table, @@ -528,6 +544,7 @@ Racc_token_to_s_table = [ 'COLON', 'TYPE', 'NAME', +'HOSTNAME', 'SEMIC', 'CASE', 'DEFAULT', @@ -573,7 +590,8 @@ Racc_token_to_s_table = [ 'sintvalues', 'argumentlist', 'parent', -'names', +'hostnames', +'hostname', 'nothing', 'arguments', 'argument'] @@ -1354,8 +1372,41 @@ module_eval <<'.,.,', 'grammar.ra', 608 end .,., -module_eval <<'.,.,', 'grammar.ra', 616 +module_eval <<'.,.,', 'grammar.ra', 618 def _reduce_81( val, _values, result ) + result = AST::HostName.new( + :line => @lexer.line, + :file => @lexer.file, + :value => val[0] + ) + result + end +.,., + +module_eval <<'.,.,', 'grammar.ra', 625 + def _reduce_82( val, _values, result ) + result = AST::HostName.new( + :line => @lexer.line, + :file => @lexer.file, + :value => val[0] + ) + result + end +.,., + +module_eval <<'.,.,', 'grammar.ra', 632 + def _reduce_83( val, _values, result ) + result = AST::HostName.new( + :line => @lexer.line, + :file => @lexer.file, + :value => val[0] + ) + result + end +.,., + +module_eval <<'.,.,', 'grammar.ra', 640 + def _reduce_84( val, _values, result ) result = AST::ASTArray.new( :line => @lexer.line, :file => @lexer.file, @@ -1365,17 +1416,17 @@ module_eval <<'.,.,', 'grammar.ra', 616 end .,., - # reduce 82 omitted + # reduce 85 omitted -module_eval <<'.,.,', 'grammar.ra', 621 - def _reduce_83( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 645 + def _reduce_86( val, _values, result ) result = val[1] result end .,., -module_eval <<'.,.,', 'grammar.ra', 632 - def _reduce_84( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 656 + def _reduce_87( val, _values, result ) if val[1].instance_of?(AST::ASTArray) result = val[1] else @@ -1389,10 +1440,10 @@ module_eval <<'.,.,', 'grammar.ra', 632 end .,., - # reduce 85 omitted + # reduce 88 omitted -module_eval <<'.,.,', 'grammar.ra', 646 - def _reduce_86( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 670 + def _reduce_89( val, _values, result ) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) result = val[0] @@ -1407,8 +1458,8 @@ module_eval <<'.,.,', 'grammar.ra', 646 end .,., -module_eval <<'.,.,', 'grammar.ra', 654 - def _reduce_87( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 678 + def _reduce_90( val, _values, result ) result = AST::CompArgument.new( :line => @lexer.line, :file => @lexer.file, @@ -1418,8 +1469,8 @@ module_eval <<'.,.,', 'grammar.ra', 654 end .,., -module_eval <<'.,.,', 'grammar.ra', 661 - def _reduce_88( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 685 + def _reduce_91( val, _values, result ) result = AST::CompArgument.new( :line => @lexer.line, :file => @lexer.file, @@ -1429,10 +1480,10 @@ module_eval <<'.,.,', 'grammar.ra', 661 end .,., - # reduce 89 omitted + # reduce 92 omitted -module_eval <<'.,.,', 'grammar.ra', 670 - def _reduce_90( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 694 + def _reduce_93( val, _values, result ) result = AST::Name.new( :value => val[1], :file => @lexer.file, @@ -1442,8 +1493,8 @@ module_eval <<'.,.,', 'grammar.ra', 670 end .,., -module_eval <<'.,.,', 'grammar.ra', 679 - def _reduce_91( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 703 + def _reduce_94( val, _values, result ) name = val[0].sub(/^\$/,'') result = AST::Variable.new( :line => @lexer.line, @@ -1454,8 +1505,8 @@ module_eval <<'.,.,', 'grammar.ra', 679 end .,., -module_eval <<'.,.,', 'grammar.ra', 691 - def _reduce_92( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 715 + def _reduce_95( val, _values, result ) if val[1].instance_of?(AST::ASTArray) result = val[1] else @@ -1469,14 +1520,14 @@ module_eval <<'.,.,', 'grammar.ra', 691 end .,., - # reduce 93 omitted + # reduce 96 omitted - # reduce 94 omitted + # reduce 97 omitted - # reduce 95 omitted + # reduce 98 omitted -module_eval <<'.,.,', 'grammar.ra', 696 - def _reduce_96( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 720 + def _reduce_99( val, _values, result ) result = nil result end |
