summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser
diff options
context:
space:
mode:
authorlutter <lutter@980ebf18-57e1-0310-9a29-db15c13687c0>2006-03-31 23:33:17 +0000
committerlutter <lutter@980ebf18-57e1-0310-9a29-db15c13687c0>2006-03-31 23:33:17 +0000
commitc7ae8396c420f862cda8f6121e505473abfd3e64 (patch)
treeeb6a16b9ff5750c5fff078ce8795f548e676fb8f /lib/puppet/parser
parent9b1e8d55363aa67e9e981b7977ed6eded8026b68 (diff)
downloadpuppet-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.rb3
-rw-r--r--lib/puppet/parser/grammar.ra40
-rw-r--r--lib/puppet/parser/interpreter.rb6
-rw-r--r--lib/puppet/parser/lexer.rb5
-rw-r--r--lib/puppet/parser/parser.rb621
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