summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/parser/grammar.ra16
-rw-r--r--lib/puppet/parser/parser.rb539
-rwxr-xr-xtest/language/parser.rb8
3 files changed, 297 insertions, 266 deletions
diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra
index 2e1df481d..734c6b084 100644
--- a/lib/puppet/parser/grammar.ra
+++ b/lib/puppet/parser/grammar.ra
@@ -509,22 +509,22 @@ definition: DEFINE fqname argumentlist LBRACE statements RBRACE {
}
#hostclass: CLASS NAME argumentlist parent LBRACE statements RBRACE {
-hostclass: CLASS fqname parent LBRACE statements RBRACE {
+hostclass: CLASS fqname classparent LBRACE statements RBRACE {
# Our class gets defined in the parent namespace, not our own.
@lexer.namepop
interp.newclass fqname(val[1]), :code => val[4], :parent => val[2]
result = nil
-} | CLASS fqname parent LBRACE RBRACE {
+} | CLASS fqname classparent LBRACE RBRACE {
# Our class gets defined in the parent namespace, not our own.
@lexer.namepop
interp.newclass fqname(val[1]), :parent => val[2]
result = nil
}
-nodedef: NODE hostnames parent LBRACE statements RBRACE {
+nodedef: NODE hostnames nodeparent LBRACE statements RBRACE {
interp.newnode val[1], :parent => val[2], :code => val[4]
result = nil
-} | NODE hostnames parent LBRACE RBRACE {
+} | NODE hostnames nodeparent LBRACE RBRACE {
interp.newnode val[1], :parent => val[2]
result = nil
}
@@ -582,12 +582,18 @@ argument: NAME EQUALS rvalue {
result = [val[0]]
}
-parent: nil
+nodeparent: nil
| INHERITS nameordefault {
result = val[1]
}
+classparent: nil
+ | INHERITS fqnameordefault {
+ result = val[1]
+}
+
nameordefault: NAME | DEFAULT
+fqnameordefault: fqname | DEFAULT
variable: VARIABLE {
result = ast AST::Variable, :value => val[0]
diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb
index ec9e43200..8ea7a8034 100644
--- a/lib/puppet/parser/parser.rb
+++ b/lib/puppet/parser/parser.rb
@@ -29,7 +29,7 @@ module Puppet
class Parser < Racc::Parser
-module_eval <<'..end grammar.ra modeval..idfb7e0da18f', 'grammar.ra', 630
+module_eval <<'..end grammar.ra modeval..iddf5e17e6fb', 'grammar.ra', 636
require 'puppet/parser/functions'
attr_reader :file, :interp
@@ -199,7 +199,7 @@ end
# $Id$
-..end grammar.ra modeval..idfb7e0da18f
+..end grammar.ra modeval..iddf5e17e6fb
##### racc 1.4.5 generates ###
@@ -331,80 +331,84 @@ racc_reduce_table = [
1, 108, :_reduce_none,
1, 111, :_reduce_none,
3, 111, :_reduce_126,
- 1, 112, :_reduce_none,
- 1, 112, :_reduce_none,
- 1, 112, :_reduce_none,
+ 1, 113, :_reduce_none,
+ 1, 113, :_reduce_none,
+ 1, 113, :_reduce_none,
0, 53, :_reduce_130,
- 0, 113, :_reduce_131,
+ 0, 114, :_reduce_131,
1, 109, :_reduce_none,
3, 109, :_reduce_133,
3, 109, :_reduce_134,
- 1, 114, :_reduce_none,
- 3, 114, :_reduce_136,
- 3, 115, :_reduce_137,
- 1, 115, :_reduce_138,
- 3, 115, :_reduce_139,
- 1, 115, :_reduce_140,
+ 1, 115, :_reduce_none,
+ 3, 115, :_reduce_136,
+ 3, 116, :_reduce_137,
+ 1, 116, :_reduce_138,
+ 3, 116, :_reduce_139,
+ 1, 116, :_reduce_140,
+ 1, 112, :_reduce_none,
+ 2, 112, :_reduce_142,
1, 110, :_reduce_none,
- 2, 110, :_reduce_142,
- 1, 116, :_reduce_none,
- 1, 116, :_reduce_none,
- 1, 72, :_reduce_145,
- 3, 92, :_reduce_146,
- 2, 92, :_reduce_147,
+ 2, 110, :_reduce_144,
+ 1, 117, :_reduce_none,
+ 1, 117, :_reduce_none,
+ 1, 118, :_reduce_none,
+ 1, 118, :_reduce_none,
+ 1, 72, :_reduce_149,
+ 3, 92, :_reduce_150,
+ 2, 92, :_reduce_151,
1, 96, :_reduce_none,
1, 96, :_reduce_none,
0, 78, :_reduce_none,
- 1, 78, :_reduce_151 ]
+ 1, 78, :_reduce_155 ]
-racc_reduce_n = 152
+racc_reduce_n = 156
-racc_shift_n = 250
+racc_shift_n = 255
racc_action_table = [
- 62, 50, 52, 50, 52, 92, 62, 50, 52, 48,
- 105, 79, 62, 50, 52, 80, 73, -110, 62, 50,
- 52, 160, 73, 215, 62, 50, 52, 79, 73, 127,
- 89, 45, 43, 45, 118, 65, 70, 45, 94, 74,
- 118, 65, 70, 45, -111, 74, 147, 65, 70, 45,
- -112, 74, 181, 65, 170, 45, 44, 74, 157, 65,
- 114, 50, 52, 74, 62, 50, 52, 58, 194, 159,
- 62, 50, 52, 157, 144, 145, 62, 50, 52, -111,
- 73, 189, 62, 50, 52, -113, 73, 154, 62, 50,
- 52, 45, 73, 144, 145, 45, 94, 159, 73, 65,
+ 62, 50, 52, 50, 52, 94, 62, 50, 52, 58,
+ 164, 79, 62, 50, 52, 80, 73, 89, 62, 50,
+ 52, 165, 73, 129, 62, 50, 52, 79, 73, 159,
+ 91, 45, 43, 45, 120, 65, 70, 45, 96, 74,
+ 120, 65, 70, 45, -111, 74, 152, 65, 70, 45,
+ -112, 74, 186, 65, 175, 45, 44, 74, 162, 65,
+ 116, 50, 52, 74, 62, 50, 52, 48, 199, 164,
+ 62, 50, 52, 162, 149, 150, 62, 50, 52, -111,
+ 73, 194, 62, 50, 52, -113, 73, 129, 62, 50,
+ 52, 45, 73, 149, 150, 45, 96, 231, 73, 65,
70, 45, 36, 74, 73, 65, 70, 45, -109, 74,
- 127, 65, 70, 45, 126, 74, 149, 65, 70, 45,
- 225, 74, 35, 65, 70, 148, -109, 74, 62, 50,
- 52, 123, 219, 224, 62, 50, 52, -110, 32, 218,
- 62, 50, 52, 138, 73, 31, 140, 50, 52, 122,
- 73, 32, 184, 50, 52, 48, 73, 187, 31, 45,
- 39, 204, 118, 65, 70, 45, 39, 74, 118, 65,
- 70, 45, 131, 74, 131, 65, 70, 45, 79, 74,
- 48, 65, 170, 45, 209, 74, 106, 65, 170, 50,
- 52, 74, 105, 184, 40, 50, 52, 41, 187, 212,
- 40, 50, 52, 41, 118, 235, 127, 165, 166, -110,
- 118, 50, 52, 158, 172, 157, 118, 50, 52, 45,
- 128, 217, 220, 65, 170, 45, 118, 74, 221, 65,
- 170, 45, 118, 74, 222, 65, 170, 93, 223, 74,
- 152, 45, 50, 52, 226, 65, 170, 45, 45, 74,
- 80, 65, 170, 94, 93, 74, 56, 118, 48, 50,
- 52, 89, 56, -114, 249, 45, 50, 52, 93, -109,
- 94, -112, 45, -111, 58, 17, 65, 170, 46, 45,
- 74, 58, 50, 52, 94, 14, -114, 20, 24, 45,
- 1, 4, 210, 8, 54, 12, 45, 16, 157, 25,
- 150, 54, 233, 17, 144, 145, 93, 163, 86, 248,
- 151, 165, 166, 14, 237, 20, 24, 45, 1, 4,
- 17, 8, 94, 12, 131, 16, 227, 25, 83, 132,
- 14, 141, 20, 24, 81, 1, 4, 17, 8, 243,
- 12, 131, 16, 229, 25, 137, 134, 14, 30, 20,
- 24, -112, 1, 4, 17, 8, nil, 12, nil, 16,
- 230, 25, nil, nil, 14, nil, 20, 24, nil, 1,
- 4, 17, 8, nil, 12, nil, 16, 242, 25, nil,
+ 230, 65, 70, 45, 128, 74, 154, 65, 70, 45,
+ 107, 74, 35, 65, 70, 153, -109, 74, 62, 50,
+ 52, 125, 32, 220, 62, 50, 52, -110, 224, 31,
+ 62, 50, 52, 143, 73, 223, 145, 50, 52, 124,
+ 73, 32, 189, 50, 52, 48, 73, 191, 31, 45,
+ 39, 209, 120, 65, 70, 45, 39, 74, 120, 65,
+ 70, 45, 133, 74, 133, 65, 70, 45, 79, 74,
+ 48, 65, 175, 45, 214, 74, 108, 65, 175, 50,
+ 52, 74, 107, 189, 40, 50, 52, 41, 191, 217,
+ 40, 50, 52, 41, 120, 240, 32, 170, 171, 140,
+ 120, 50, 52, 31, 177, 129, 120, 50, 52, 45,
+ -110, 222, 163, 65, 175, 45, 120, 74, 162, 65,
+ 175, 45, 120, 74, 130, 65, 175, 95, 225, 74,
+ 226, 45, 50, 52, 227, 65, 175, 45, 45, 74,
+ 228, 65, 175, 96, 95, 74, 229, 120, 48, 50,
+ 52, 157, 56, 80, 254, 45, 50, 52, 95, 56,
+ 96, -114, 45, -110, 58, 17, 65, 175, 46, 45,
+ 74, 58, 50, 52, 96, 14, -109, 20, 24, 45,
+ 1, 4, 215, 8, 54, 12, 45, 16, -112, 25,
+ 155, 54, -111, 17, 149, 150, 95, 168, -114, 253,
+ 162, 170, 171, 14, 238, 20, 24, 45, 1, 4,
+ 17, 8, 96, 12, 86, 16, 232, 25, 156, 242,
+ 14, 133, 20, 24, 83, 1, 4, 17, 8, 134,
+ 12, 146, 16, 234, 25, 81, 248, 14, 133, 20,
+ 24, 139, 1, 4, 17, 8, 136, 12, 30, 16,
+ 235, 25, -112, nil, 14, nil, 20, 24, nil, 1,
+ 4, 17, 8, nil, 12, nil, 16, 247, 25, nil,
nil, 14, nil, 20, 24, nil, 1, 4, 17, 8,
- nil, 12, nil, 16, 245, 25, nil, nil, 14, nil,
+ nil, 12, nil, 16, 250, 25, nil, nil, 14, nil,
20, 24, nil, 1, 4, 17, 8, nil, 12, nil,
- 16, 190, 25, nil, nil, 14, nil, 20, 24, nil,
- 1, 4, 17, 8, nil, 12, nil, 16, 192, 25,
+ 16, 195, 25, nil, nil, 14, nil, 20, 24, nil,
+ 1, 4, 17, 8, nil, 12, nil, 16, 197, 25,
nil, nil, 14, nil, 20, 24, nil, 1, 4, 17,
8, nil, 12, nil, 16, nil, 25, nil, nil, 14,
nil, 20, 24, nil, 1, 4, 17, 8, nil, 12,
@@ -418,214 +422,212 @@ racc_action_table = [
nil, 25 ]
racc_action_check = [
- 48, 48, 48, 105, 105, 37, 79, 79, 79, 70,
- 176, 17, 164, 164, 164, 17, 48, 196, 160, 160,
- 160, 120, 79, 176, 56, 56, 56, 73, 164, 70,
- 37, 48, 9, 105, 160, 48, 48, 79, 105, 48,
- 56, 79, 79, 164, 72, 79, 96, 164, 164, 160,
- 71, 164, 129, 160, 160, 56, 9, 160, 130, 56,
- 56, 127, 127, 56, 159, 159, 159, 106, 143, 131,
- 30, 30, 30, 133, 96, 96, 14, 14, 14, 117,
- 159, 136, 16, 16, 16, 77, 30, 106, 212, 212,
- 212, 127, 14, 143, 143, 159, 127, 114, 16, 159,
- 159, 30, 6, 159, 212, 30, 30, 14, 69, 30,
- 114, 14, 14, 16, 67, 14, 100, 16, 16, 212,
- 186, 16, 6, 212, 212, 100, 113, 212, 62, 62,
- 62, 62, 179, 186, 226, 226, 226, 63, 24, 179,
- 222, 222, 222, 89, 62, 24, 89, 148, 148, 61,
- 226, 4, 225, 219, 219, 154, 222, 225, 4, 62,
- 8, 156, 148, 62, 62, 226, 92, 62, 219, 226,
- 226, 222, 157, 226, 158, 222, 222, 148, 58, 222,
- 54, 148, 148, 219, 161, 148, 51, 219, 219, 236,
- 236, 219, 49, 134, 8, 172, 172, 8, 134, 169,
- 92, 149, 149, 92, 236, 214, 170, 214, 214, 110,
- 172, 126, 126, 109, 126, 108, 149, 177, 177, 236,
- 78, 177, 182, 236, 236, 172, 126, 236, 183, 172,
- 172, 149, 177, 172, 184, 149, 149, 44, 185, 149,
- 104, 126, 128, 128, 187, 126, 126, 177, 44, 126,
- 36, 177, 177, 44, 43, 177, 35, 128, 12, 12,
- 12, 33, 12, 76, 247, 43, 46, 46, 146, 198,
- 43, 199, 128, 200, 12, 247, 128, 128, 12, 146,
- 128, 46, 20, 20, 146, 247, 201, 247, 247, 12,
- 247, 247, 162, 247, 12, 247, 46, 247, 206, 247,
- 102, 46, 210, 162, 102, 102, 93, 125, 25, 246,
- 103, 125, 125, 162, 218, 162, 162, 93, 162, 162,
- 246, 162, 93, 162, 80, 162, 189, 162, 21, 81,
- 246, 91, 246, 246, 19, 246, 246, 189, 246, 233,
- 246, 83, 246, 191, 246, 88, 85, 189, 1, 189,
- 189, 116, 189, 189, 191, 189, nil, 189, nil, 189,
- 193, 189, nil, nil, 191, nil, 191, 191, nil, 191,
- 191, 193, 191, nil, 191, nil, 191, 228, 191, nil,
- nil, 193, nil, 193, 193, nil, 193, 193, 228, 193,
- nil, 193, nil, 193, 237, 193, nil, nil, 228, nil,
- 228, 228, nil, 228, 228, 237, 228, nil, 228, nil,
- 228, 137, 228, nil, nil, 237, nil, 237, 237, nil,
- 237, 237, 137, 237, nil, 237, nil, 237, 141, 237,
- nil, nil, 137, nil, 137, 137, nil, 137, 137, 141,
- 137, nil, 137, nil, 137, nil, 137, nil, nil, 141,
- nil, 141, 141, nil, 141, 141, 243, 141, nil, 141,
- nil, 141, nil, 141, nil, nil, 243, nil, 243, 243,
- nil, 243, 243, 23, 243, nil, 243, nil, 243, nil,
- 243, nil, nil, 23, nil, 23, 23, nil, 23, 23,
- 122, 23, nil, 23, nil, 23, nil, 23, nil, nil,
- 122, nil, 122, 122, nil, 122, 122, 0, 122, nil,
- 122, nil, 122, nil, 122, nil, nil, 0, nil, 0,
+ 48, 48, 48, 107, 107, 37, 79, 79, 79, 108,
+ 116, 17, 169, 169, 169, 17, 48, 33, 165, 165,
+ 165, 122, 79, 116, 56, 56, 56, 73, 169, 108,
+ 37, 48, 9, 107, 165, 48, 48, 79, 107, 48,
+ 56, 79, 79, 169, 72, 79, 98, 169, 169, 165,
+ 71, 169, 131, 165, 165, 56, 9, 165, 132, 56,
+ 56, 129, 129, 56, 164, 164, 164, 70, 148, 133,
+ 30, 30, 30, 135, 98, 98, 14, 14, 14, 119,
+ 164, 138, 16, 16, 16, 77, 30, 70, 217, 217,
+ 217, 129, 14, 148, 148, 164, 129, 192, 16, 164,
+ 164, 30, 6, 164, 217, 30, 30, 14, 69, 30,
+ 192, 14, 14, 16, 67, 14, 102, 16, 16, 217,
+ 181, 16, 6, 217, 217, 102, 115, 217, 62, 62,
+ 62, 62, 24, 181, 229, 229, 229, 63, 184, 24,
+ 227, 227, 227, 91, 62, 184, 91, 153, 153, 61,
+ 229, 4, 231, 224, 224, 159, 227, 231, 4, 62,
+ 8, 161, 153, 62, 62, 229, 94, 62, 224, 229,
+ 229, 227, 162, 229, 163, 227, 227, 153, 58, 227,
+ 54, 153, 153, 224, 166, 153, 51, 224, 224, 241,
+ 241, 224, 49, 136, 8, 177, 177, 8, 136, 174,
+ 94, 154, 154, 94, 241, 219, 89, 219, 219, 89,
+ 177, 128, 128, 89, 128, 175, 154, 182, 182, 241,
+ 112, 182, 111, 241, 241, 177, 128, 241, 110, 177,
+ 177, 154, 182, 177, 78, 154, 154, 44, 187, 154,
+ 188, 128, 130, 130, 189, 128, 128, 182, 44, 128,
+ 190, 182, 182, 44, 151, 182, 191, 130, 12, 12,
+ 12, 106, 12, 36, 252, 151, 46, 46, 43, 35,
+ 151, 76, 130, 201, 12, 252, 130, 130, 12, 43,
+ 130, 46, 20, 20, 43, 252, 203, 252, 252, 12,
+ 252, 252, 167, 252, 12, 252, 46, 252, 204, 252,
+ 104, 46, 205, 167, 104, 104, 95, 127, 206, 251,
+ 211, 127, 127, 167, 215, 167, 167, 95, 167, 167,
+ 251, 167, 95, 167, 25, 167, 194, 167, 105, 223,
+ 251, 80, 251, 251, 21, 251, 251, 194, 251, 81,
+ 251, 92, 251, 196, 251, 19, 238, 194, 83, 194,
+ 194, 88, 194, 194, 196, 194, 85, 194, 1, 194,
+ 198, 194, 118, nil, 196, nil, 196, 196, nil, 196,
+ 196, 198, 196, nil, 196, nil, 196, 233, 196, nil,
+ nil, 198, nil, 198, 198, nil, 198, 198, 233, 198,
+ nil, 198, nil, 198, 242, 198, nil, nil, 233, nil,
+ 233, 233, nil, 233, 233, 242, 233, nil, 233, nil,
+ 233, 139, 233, nil, nil, 242, nil, 242, 242, nil,
+ 242, 242, 139, 242, nil, 242, nil, 242, 146, 242,
+ nil, nil, 139, nil, 139, 139, nil, 139, 139, 146,
+ 139, nil, 139, nil, 139, nil, 139, nil, nil, 146,
+ nil, 146, 146, nil, 146, 146, 248, 146, nil, 146,
+ nil, 146, nil, 146, nil, nil, 248, nil, 248, 248,
+ nil, 248, 248, 23, 248, nil, 248, nil, 248, nil,
+ 248, nil, nil, 23, nil, 23, 23, nil, 23, 23,
+ 124, 23, nil, 23, nil, 23, nil, 23, nil, nil,
+ 124, nil, 124, 124, nil, 124, 124, 0, 124, nil,
+ 124, nil, 124, nil, 124, nil, nil, 0, nil, 0,
0, nil, 0, 0, nil, 0, nil, 0, nil, 0,
nil, 0 ]
racc_action_pointer = [
- 489, 335, nil, nil, 113, nil, 84, nil, 156, 13,
- nil, nil, 256, nil, 74, nil, 80, 9, nil, 334,
- 279, 322, nil, 455, 100, 266, nil, nil, nil, nil,
- 68, nil, nil, 226, nil, 250, 244, -5, nil, nil,
- nil, nil, nil, 232, 215, nil, 263, nil, -2, 182,
+ 489, 345, nil, nil, 113, nil, 84, nil, 156, 13,
+ nil, nil, 256, nil, 74, nil, 80, 9, nil, 345,
+ 279, 328, nil, 455, 94, 282, nil, nil, nil, nil,
+ 68, nil, nil, -18, nil, 263, 257, -5, nil, nil,
+ nil, nil, nil, 246, 215, nil, 263, nil, -2, 182,
nil, 176, nil, nil, 178, nil, 22, nil, 176, nil,
nil, 143, 126, 116, nil, nil, nil, 93, nil, 87,
- 7, 29, 23, 25, nil, nil, 242, 64, 214, 4,
- 286, 329, nil, 303, nil, 324, nil, nil, 339, 105,
- nil, 325, 162, 284, nil, nil, 26, nil, nil, nil,
- 101, nil, 256, 287, 235, 0, 49, nil, 205, 196,
- 188, nil, nil, 105, 88, nil, 330, 58, nil, nil,
- -18, nil, 472, nil, nil, 302, 208, 58, 239, 47,
- 48, 60, nil, 63, 160, nil, 75, 404, nil, nil,
- nil, 421, nil, 45, nil, nil, 246, nil, 144, 198,
- nil, nil, nil, nil, 153, nil, 154, 134, 136, 62,
- 16, 177, 285, nil, 10, nil, nil, nil, nil, 190,
- 184, nil, 192, nil, nil, nil, 0, 214, nil, 122,
- nil, nil, 215, 221, 221, 215, 110, 231, nil, 319,
- nil, 336, nil, 353, nil, nil, -4, nil, 248, 250,
- 252, 265, nil, nil, nil, nil, 288, nil, nil, nil,
- 273, nil, 86, nil, 198, nil, nil, nil, 308, 150,
- nil, nil, 138, nil, nil, 119, 132, nil, 370, nil,
- nil, nil, nil, 333, nil, nil, 186, 387, nil, nil,
- nil, nil, nil, 438, nil, nil, 302, 257, nil, nil ]
+ 65, 29, 23, 25, nil, nil, 250, 64, 228, 4,
+ 293, 339, nil, 310, nil, 334, nil, nil, 345, 168,
+ nil, 105, 335, nil, 162, 284, nil, nil, 26, nil,
+ nil, nil, 101, nil, 256, 305, 256, 0, -9, nil,
+ 218, 205, 199, nil, nil, 105, 1, nil, 341, 58,
+ nil, nil, -18, nil, 472, nil, nil, 302, 208, 58,
+ 239, 47, 48, 60, nil, 63, 160, nil, 75, 404,
+ nil, nil, nil, nil, nil, nil, 421, nil, 45, nil,
+ nil, 232, nil, 144, 198, nil, nil, nil, nil, 153,
+ nil, 154, 134, 136, 62, 16, 177, 285, nil, 10,
+ nil, nil, nil, nil, 190, 193, nil, 192, nil, nil,
+ nil, 110, 214, nil, 128, nil, nil, 231, 233, 231,
+ 227, 243, 87, nil, 319, nil, 336, nil, 353, nil,
+ nil, 252, nil, 265, 277, 281, 287, nil, nil, nil,
+ nil, 300, nil, nil, nil, 285, nil, 86, nil, 198,
+ nil, nil, nil, 323, 150, nil, nil, 138, nil, 132,
+ nil, 119, nil, 370, nil, nil, nil, nil, 340, nil,
+ nil, 186, 387, nil, nil, nil, nil, nil, 438, nil,
+ nil, 302, 257, nil, nil ]
racc_action_default = [
- -130, -152, -16, -5, -152, -6, -152, -7, -152, -152,
- -8, -9, -37, -10, -152, -11, -152, -36, -12, -152,
- -152, -152, -13, -1, -152, -33, -14, -2, -15, -3,
- -152, -124, -123, -130, -32, -152, -152, -130, -125, -128,
- -127, -129, -35, -130, -130, -145, -152, -18, -152, -19,
- -87, -20, -88, -21, -56, -23, -65, -24, -152, -25,
- -26, -152, -152, -79, -81, -89, -83, -152, -95, -78,
- -56, -82, -77, -57, -115, -84, -80, -85, -152, -152,
- -65, -152, -116, -65, -4, -130, -34, -64, -152, -152,
- -141, -152, -152, -130, -56, -50, -152, -49, -41, -43,
- -152, -40, -152, -152, -152, -152, -152, -52, -150, -152,
- -60, -61, -63, -59, -56, -66, -62, -58, -57, -114,
- -54, -113, -152, -147, -69, -152, -152, -152, -152, -152,
- -150, -152, 250, -150, -131, -132, -152, -152, -143, -142,
- -144, -152, -126, -152, -46, -45, -152, -39, -152, -152,
- -38, -17, -90, -22, -152, -27, -152, -151, -65, -152,
- -55, -152, -152, -146, -152, -148, -149, -110, -109, -152,
- -56, -112, -152, -103, -111, -104, -152, -152, -97, -152,
- -101, -91, -152, -152, -140, -152, -152, -138, -135, -152,
- -120, -152, -122, -152, -44, -42, -73, -75, -72, -76,
- -71, -74, -47, -48, -29, -67, -150, -68, -53, -28,
- -93, -70, -152, -106, -152, -86, -98, -96, -152, -152,
- -30, -31, -152, -133, -134, -152, -152, -118, -152, -119,
- -121, -51, -92, -152, -108, -105, -152, -152, -102, -139,
- -136, -137, -117, -152, -107, -100, -152, -152, -99, -94 ]
+ -130, -156, -16, -5, -156, -6, -156, -7, -156, -156,
+ -8, -9, -37, -10, -156, -11, -156, -36, -12, -156,
+ -156, -156, -13, -1, -156, -33, -14, -2, -15, -3,
+ -156, -124, -123, -130, -32, -156, -156, -130, -125, -128,
+ -127, -129, -35, -130, -130, -149, -156, -18, -156, -19,
+ -87, -20, -88, -21, -56, -23, -65, -24, -156, -25,
+ -26, -156, -156, -79, -81, -89, -83, -156, -95, -78,
+ -56, -82, -77, -57, -115, -84, -80, -85, -156, -156,
+ -65, -156, -116, -65, -4, -130, -34, -64, -156, -156,
+ -143, -156, -156, -141, -156, -130, -56, -50, -156, -49,
+ -41, -43, -156, -40, -156, -156, -156, -156, -156, -52,
+ -154, -156, -60, -61, -63, -59, -56, -66, -62, -58,
+ -57, -114, -54, -113, -156, -151, -69, -156, -156, -156,
+ -156, -156, -154, -156, 255, -154, -131, -132, -156, -156,
+ -148, -144, -147, -145, -142, -146, -156, -126, -156, -46,
+ -45, -156, -39, -156, -156, -38, -17, -90, -22, -156,
+ -27, -156, -155, -65, -156, -55, -156, -156, -150, -156,
+ -152, -153, -110, -109, -156, -56, -112, -156, -103, -111,
+ -104, -156, -156, -97, -156, -101, -91, -156, -156, -140,
+ -156, -138, -156, -135, -156, -120, -156, -122, -156, -44,
+ -42, -73, -75, -72, -76, -71, -74, -47, -48, -29,
+ -67, -154, -68, -53, -28, -93, -70, -156, -106, -156,
+ -86, -98, -96, -156, -156, -30, -31, -156, -133, -156,
+ -134, -156, -118, -156, -119, -121, -51, -92, -156, -108,
+ -105, -156, -156, -102, -139, -137, -136, -117, -156, -107,
+ -100, -156, -156, -99, -94 ]
racc_goto_table = [
- 23, 169, 59, 180, 175, 84, 188, 108, 112, 55,
- 82, 107, 164, 96, 102, 111, 38, 57, 178, 33,
- 88, 27, 47, 19, 91, 202, 203, 205, 125, 61,
- 232, 130, 177, 195, 133, 42, 59, 156, 173, 85,
- 95, 95, 161, 55, 214, 120, 117, 169, 97, 97,
- 213, 57, 180, 113, 90, 68, 103, 78, 90, 182,
- 136, 116, 183, 143, 153, 37, 176, 216, 185, 186,
- 34, 87, 139, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 104,
- 95, 119, nil, nil, 238, 59, nil, 240, 97, nil,
- 142, 236, 55, 124, nil, nil, 135, 197, 197, 206,
- 57, 169, 112, nil, 244, 208, 174, 59, 174, 111,
- 129, nil, 162, 168, 55, 168, nil, nil, nil, nil,
- nil, 171, 57, 171, nil, 231, nil, 191, 200, 200,
- nil, 193, nil, 95, 84, 198, 198, nil, nil, nil,
- 117, 97, nil, 199, 199, nil, nil, 113, nil, nil,
- nil, 119, 174, 119, 121, 116, nil, 174, 60, 168,
- 75, nil, 75, 84, 168, 84, nil, 171, nil, nil,
- 110, nil, 171, 201, 201, nil, 75, nil, nil, 228,
- nil, nil, nil, nil, nil, 119, nil, nil, nil, nil,
- 207, nil, 60, nil, 75, 211, nil, 119, nil, 174,
- 84, nil, 119, nil, nil, nil, 168, nil, 75, nil,
- nil, nil, nil, nil, 171, nil, 174, nil, 84, 84,
- nil, nil, nil, 168, 121, 75, 121, 246, nil, nil,
- nil, 171, nil, 247, nil, nil, nil, nil, nil, nil,
- 167, nil, 167, 234, 119, nil, 121, 121, nil, nil,
- nil, nil, 155, 239, nil, nil, nil, 241, 121, nil,
- nil, 119, 196, 196, nil, nil, nil, nil, nil, nil,
- 121, nil, nil, nil, 110, 121, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, 167, nil, nil, nil,
- nil, 167, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, 75, nil, nil, nil, nil,
- 75, nil, nil, nil, nil, nil, nil, 121, nil, nil,
+ 23, 57, 110, 109, 113, 84, 114, 38, 180, 59,
+ 174, 169, 185, 193, 19, 183, 55, 82, 210, 161,
+ 60, 47, 75, 127, 75, 200, 132, 98, 104, 135,
+ 207, 208, 99, 99, 61, 57, 237, 182, 75, 42,
+ 166, 187, 178, 59, 188, 118, 33, 97, 97, 68,
+ 55, 78, 27, 119, 60, 105, 75, 218, 122, 174,
+ 115, 219, 158, 138, 185, 87, 85, 221, 88, 37,
+ 75, 92, 181, 190, 192, 34, 144, 141, nil, 148,
+ nil, nil, nil, 106, 99, 90, nil, 75, nil, 93,
+ nil, 123, nil, 147, nil, nil, 57, 126, nil, 97,
+ nil, 202, 202, 241, 59, nil, 243, nil, 246, 211,
+ 112, 55, 213, 113, 131, 114, 160, 176, 57, 176,
+ 236, 249, nil, 174, 167, 179, 59, 179, nil, nil,
+ nil, 142, 173, 55, 173, nil, nil, 137, nil, 196,
+ 99, nil, 204, 204, nil, nil, 198, nil, nil, 84,
+ 205, 205, nil, nil, 118, 97, nil, 203, 203, nil,
+ nil, nil, 119, 123, nil, 123, 176, nil, nil, 115,
+ nil, 176, 75, nil, 179, 121, nil, 75, 84, 179,
+ 84, 173, 172, nil, 172, nil, 173, nil, 123, 123,
+ nil, nil, nil, nil, 233, nil, nil, nil, nil, 212,
+ 123, nil, nil, nil, 216, nil, nil, 201, 201, nil,
+ nil, nil, 123, 176, nil, 84, nil, 123, nil, 112,
+ nil, 179, nil, nil, nil, 75, nil, nil, 173, nil,
+ 176, 172, nil, 84, 84, 75, 172, 75, 179, nil,
+ nil, nil, 251, nil, nil, 173, nil, 121, 252, 121,
+ nil, nil, 239, nil, nil, nil, nil, nil, nil, 123,
+ nil, nil, 244, nil, 245, nil, nil, nil, nil, nil,
+ nil, nil, 206, 206, nil, nil, 123, nil, 172, nil,
+ nil, nil, nil, nil, 121, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 172, 121, nil, nil, nil,
+ nil, 121, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, 167, 121, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- 167, nil, nil, nil, nil, nil, nil, nil, 75, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, 75, nil,
- nil, nil, 75 ]
+ nil, nil, nil, 121, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ 121 ]
racc_goto_check = [
- 2, 54, 23, 54, 56, 4, 65, 27, 42, 21,
- 23, 38, 46, 32, 32, 41, 62, 22, 52, 58,
- 60, 3, 17, 1, 60, 37, 37, 44, 45, 49,
- 50, 27, 51, 33, 27, 31, 23, 28, 55, 58,
- 21, 21, 26, 21, 57, 25, 23, 54, 22, 22,
- 56, 22, 54, 21, 3, 43, 17, 43, 3, 28,
- 59, 22, 28, 32, 20, 61, 18, 52, 63, 64,
- 5, 43, 66, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 43,
- 21, 47, nil, nil, 54, 23, nil, 65, 22, nil,
- 62, 46, 21, 43, nil, nil, 3, 41, 41, 27,
- 22, 54, 42, nil, 56, 38, 23, 23, 23, 41,
- 43, nil, 2, 21, 21, 21, nil, nil, nil, nil,
- nil, 22, 22, 22, nil, 28, nil, 2, 23, 23,
- nil, 2, nil, 21, 4, 21, 21, nil, nil, nil,
- 23, 22, nil, 22, 22, nil, nil, 21, nil, nil,
- nil, 47, 23, 47, 48, 22, nil, 23, 24, 21,
- 24, nil, 24, 4, 21, 4, nil, 22, nil, nil,
- 40, nil, 22, 47, 47, nil, 24, nil, nil, 2,
- nil, nil, nil, nil, nil, 47, nil, nil, nil, nil,
- 43, nil, 24, nil, 24, 43, nil, 47, nil, 23,
- 4, nil, 47, nil, nil, nil, 21, nil, 24, nil,
- nil, nil, nil, nil, 22, nil, 23, nil, 4, 4,
- nil, nil, nil, 21, 48, 24, 48, 2, nil, nil,
- nil, 22, nil, 2, nil, nil, nil, nil, nil, nil,
- 40, nil, 40, 43, 47, nil, 48, 48, nil, nil,
- nil, nil, 24, 43, nil, nil, nil, 43, 48, nil,
- nil, 47, 40, 40, nil, nil, nil, nil, nil, nil,
- 48, nil, nil, nil, 40, 48, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, 40, nil, nil, nil,
- nil, 40, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, 24, nil, nil, nil, nil,
- 24, nil, nil, nil, nil, nil, nil, 48, nil, nil,
+ 2, 22, 27, 38, 41, 4, 42, 63, 56, 23,
+ 54, 46, 54, 66, 1, 52, 21, 23, 44, 28,
+ 24, 17, 24, 45, 24, 33, 27, 32, 32, 27,
+ 37, 37, 22, 22, 49, 22, 50, 51, 24, 31,
+ 26, 28, 55, 23, 28, 22, 58, 21, 21, 43,
+ 21, 43, 3, 23, 24, 17, 24, 56, 25, 54,
+ 21, 57, 20, 59, 54, 43, 58, 52, 60, 61,
+ 24, 62, 18, 64, 65, 5, 67, 68, nil, 32,
+ nil, nil, nil, 43, 22, 3, nil, 24, nil, 3,
+ nil, 48, nil, 63, nil, nil, 22, 43, nil, 21,
+ nil, 41, 41, 46, 23, nil, 54, nil, 66, 27,
+ 40, 21, 38, 41, 43, 42, 24, 22, 22, 22,
+ 28, 56, nil, 54, 2, 23, 23, 23, nil, nil,
+ nil, 58, 21, 21, 21, nil, nil, 3, nil, 2,
+ 22, nil, 22, 22, nil, nil, 2, nil, nil, 4,
+ 23, 23, nil, nil, 22, 21, nil, 21, 21, nil,
+ nil, nil, 23, 48, nil, 48, 22, nil, nil, 21,
+ nil, 22, 24, nil, 23, 47, nil, 24, 4, 23,
+ 4, 21, 40, nil, 40, nil, 21, nil, 48, 48,
+ nil, nil, nil, nil, 2, nil, nil, nil, nil, 43,
+ 48, nil, nil, nil, 43, nil, nil, 40, 40, nil,
+ nil, nil, 48, 22, nil, 4, nil, 48, nil, 40,
+ nil, 23, nil, nil, nil, 24, nil, nil, 21, nil,
+ 22, 40, nil, 4, 4, 24, 40, 24, 23, nil,
+ nil, nil, 2, nil, nil, 21, nil, 47, 2, 47,
+ nil, nil, 43, nil, nil, nil, nil, nil, nil, 48,
+ nil, nil, 43, nil, 43, nil, nil, nil, nil, nil,
+ nil, nil, 47, 47, nil, nil, 48, nil, 40, nil,
+ nil, nil, nil, nil, 47, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 40, 47, nil, nil, nil,
+ nil, 47, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, 40, 48, nil, nil, nil, nil, nil,
+ nil, nil, nil, 47, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- 40, nil, nil, nil, nil, nil, nil, nil, 24, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, 24, nil,
- nil, nil, 24 ]
+ 47 ]
racc_goto_pointer = [
- nil, 23, 0, 21, -18, 64, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, 10, -61, nil,
- -41, -3, 5, -10, 156, -11, -78, -49, -71, nil,
- nil, 26, -30, -113, nil, nil, nil, -123, -45, nil,
- 124, -41, -48, 41, -130, -34, -113, 35, 108, 15,
- -180, -96, -110, nil, -125, -88, -122, -128, 15, -25,
- -13, 57, 8, -66, -65, -128, -17 ]
+ nil, 14, 0, 52, -18, 69, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, 9, -57, nil,
+ -45, 4, -11, -3, 8, 2, -82, -54, -91, nil,
+ nil, 30, -16, -126, nil, nil, nil, -123, -53, nil,
+ 54, -52, -50, 35, -144, -39, -116, 119, 35, 20,
+ -179, -93, -115, nil, -118, -86, -120, -116, 42, -22,
+ 35, 61, 34, -1, -63, -62, -123, -15, -12 ]
racc_goto_default = [
- nil, nil, nil, 101, 29, 3, 5, 7, 10, 11,
+ nil, nil, nil, 103, 29, 3, 5, 7, 10, 11,
13, 15, 18, 22, 26, 28, 2, nil, 49, 51,
53, 69, 71, 72, 21, nil, nil, nil, nil, 6,
- 9, nil, nil, 98, 146, 99, 100, nil, nil, 109,
- 63, 64, 66, nil, 115, nil, nil, 76, 77, nil,
- nil, nil, nil, 179, 67, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil ]
+ 9, nil, nil, 100, 151, 101, 102, nil, nil, 111,
+ 63, 64, 66, nil, 117, nil, nil, 76, 77, nil,
+ nil, nil, nil, 184, 67, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil ]
racc_token_table = {
false => 0,
@@ -810,13 +812,15 @@ Racc_token_to_s_table = [
'sintvalues',
'fqname',
'argumentlist',
-'parent',
+'classparent',
'hostnames',
+'nodeparent',
'hostname',
'nothing',
'arguments',
'argument',
-'nameordefault']
+'nameordefault',
+'fqnameordefault']
Racc_debug_parser = false
@@ -1680,17 +1684,30 @@ module_eval <<'.,.,', 'grammar.ra', 588
# reduce 143 omitted
- # reduce 144 omitted
+module_eval <<'.,.,', 'grammar.ra', 593
+ def _reduce_144( val, _values, result )
+ result = val[1]
+ result
+ end
+.,.,
+
+ # reduce 145 omitted
+
+ # reduce 146 omitted
+
+ # reduce 147 omitted
-module_eval <<'.,.,', 'grammar.ra', 594
- def _reduce_145( val, _values, result )
+ # reduce 148 omitted
+
+module_eval <<'.,.,', 'grammar.ra', 600
+ def _reduce_149( val, _values, result )
result = ast AST::Variable, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 602
- def _reduce_146( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 608
+ def _reduce_150( val, _values, result )
if val[1].instance_of?(AST::ASTArray)
result = val[1]
else
@@ -1700,21 +1717,21 @@ module_eval <<'.,.,', 'grammar.ra', 602
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 604
- def _reduce_147( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 610
+ def _reduce_151( val, _values, result )
result = ast AST::ASTArray
result
end
.,.,
- # reduce 148 omitted
+ # reduce 152 omitted
- # reduce 149 omitted
+ # reduce 153 omitted
- # reduce 150 omitted
+ # reduce 154 omitted
-module_eval <<'.,.,', 'grammar.ra', 609
- def _reduce_151( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 615
+ def _reduce_155( val, _values, result )
result = nil
result
end
diff --git a/test/language/parser.rb b/test/language/parser.rb
index bb07d55e8..2386a205b 100755
--- a/test/language/parser.rb
+++ b/test/language/parser.rb
@@ -398,6 +398,14 @@ file { "/tmp/yayness":
sub = interp.findclass("", "container::deep::sub")
assert(sub, "Could not find sub")
assert_equal("base", sub.parentclass.type)
+
+ # Now try it with a parent class being a fq class
+ assert_nothing_raised {
+ parser.parse "class container::one inherits container::deep::sub {}"
+ }
+ sub = interp.findclass("", "container::one")
+ assert(sub, "Could not find one")
+ assert_equal("sub", sub.parentclass.type)
end
def test_topnamespace