diff options
-rw-r--r-- | lib/puppet/parser/grammar.ra | 16 | ||||
-rw-r--r-- | lib/puppet/parser/parser.rb | 539 | ||||
-rwxr-xr-x | test/language/parser.rb | 8 |
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 |