puppet 0.18.4 → 0.22.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +288 -0
- data/README +2 -2
- data/Rakefile +78 -5
- data/bin/puppet +28 -36
- data/bin/puppetca +81 -38
- data/bin/puppetd +65 -62
- data/bin/puppetdoc +409 -140
- data/bin/puppetmasterd +59 -47
- data/bin/puppetrun +38 -23
- data/conf/freebsd/puppetd +26 -0
- data/conf/freebsd/puppetmasterd +26 -0
- data/conf/gentoo/conf.d/puppet +5 -0
- data/conf/gentoo/conf.d/puppetmaster +12 -0
- data/conf/gentoo/init.d/puppet +38 -0
- data/conf/gentoo/init.d/puppetmaster +50 -0
- data/conf/gentoo/puppet/fileserver.conf +12 -0
- data/conf/gentoo/puppet/puppetca.conf +29 -0
- data/conf/gentoo/puppet/puppetd.conf +29 -0
- data/conf/gentoo/puppet/puppetmasterd.conf +29 -0
- data/conf/redhat/client.init +10 -5
- data/conf/redhat/client.sysconfig +1 -1
- data/conf/redhat/fileserver.conf +2 -2
- data/conf/redhat/logrotate +1 -1
- data/conf/redhat/no-lockdir.patch +13 -0
- data/conf/redhat/puppet.spec +65 -8
- data/conf/redhat/puppetd.conf +0 -4
- data/conf/redhat/server.init +3 -6
- data/conf/solaris/pkginfo +1 -1
- data/conf/solaris/smf/svc-puppetd +2 -2
- data/conf/suse/client.init +142 -0
- data/conf/suse/puppet.spec +221 -0
- data/conf/suse/server.init +162 -0
- data/examples/code/mac_automount.pp +16 -0
- data/examples/root/bin/sleeper +3 -5
- data/examples/root/etc/init.d/sleeper +8 -2
- data/examples/root/etc/puppet/fileserver.conf +12 -2
- data/examples/root/etc/puppet/namespaceauth.conf +20 -0
- data/examples/root/etc/puppet/puppetd.conf +4 -0
- data/examples/root/etc/puppet/puppetmasterd.conf +6 -9
- data/examples/root/etc/puppet/tagmail.conf +1 -0
- data/ext/emacs/puppet-mode.el +46 -1
- data/ext/logcheck/puppet +15 -0
- data/ext/module_puppet +15 -23
- data/ext/vim/puppet.vim +4 -2
- data/install.rb +2 -1
- data/lib/puppet.rb +76 -207
- data/lib/puppet/configuration.rb +331 -0
- data/lib/puppet/daemon.rb +63 -246
- data/lib/puppet/dsl.rb +371 -0
- data/lib/puppet/element.rb +8 -26
- data/lib/puppet/error.rb +54 -0
- data/lib/puppet/event.rb +8 -243
- data/lib/puppet/{base64.rb → external/base64.rb} +0 -0
- data/lib/puppet/external/event-loop.rb +1 -0
- data/lib/puppet/{event-loop → external/event-loop}/better-definers.rb +0 -0
- data/lib/puppet/{event-loop → external/event-loop}/event-loop.rb +2 -2
- data/lib/puppet/{event-loop → external/event-loop}/signal-system.rb +1 -1
- data/lib/puppet/external/gratr.rb +33 -0
- data/lib/puppet/external/gratr/adjacency_graph.rb +257 -0
- data/lib/puppet/external/gratr/base.rb +34 -0
- data/lib/puppet/external/gratr/biconnected.rb +116 -0
- data/lib/puppet/external/gratr/chinese_postman.rb +123 -0
- data/lib/puppet/external/gratr/common.rb +73 -0
- data/lib/puppet/external/gratr/comparability.rb +92 -0
- data/lib/puppet/external/gratr/digraph.rb +116 -0
- data/lib/puppet/external/gratr/digraph_distance.rb +185 -0
- data/lib/puppet/external/gratr/dot.rb +90 -0
- data/lib/puppet/external/gratr/edge.rb +145 -0
- data/lib/puppet/external/gratr/graph.rb +303 -0
- data/lib/puppet/external/gratr/graph_api.rb +83 -0
- data/lib/puppet/external/gratr/import.rb +44 -0
- data/lib/puppet/external/gratr/labels.rb +90 -0
- data/lib/puppet/external/gratr/maximum_flow.rb +64 -0
- data/lib/puppet/external/gratr/rdot.rb +327 -0
- data/lib/puppet/external/gratr/search.rb +409 -0
- data/lib/puppet/external/gratr/strong_components.rb +127 -0
- data/lib/puppet/external/gratr/undirected_graph.rb +153 -0
- data/lib/puppet/{lock.rb → external/lock.rb} +1 -1
- data/lib/puppet/feature/base.rb +20 -0
- data/lib/puppet/feature/rails.rb +52 -0
- data/lib/puppet/metatype/attributes.rb +719 -0
- data/lib/puppet/metatype/closure.rb +111 -0
- data/lib/puppet/metatype/container.rb +94 -0
- data/lib/puppet/metatype/evaluation.rb +118 -0
- data/lib/puppet/metatype/instances.rb +261 -0
- data/lib/puppet/metatype/manager.rb +169 -0
- data/lib/puppet/metatype/metaparams.rb +409 -0
- data/lib/puppet/metatype/providers.rb +260 -0
- data/lib/puppet/metatype/relationships.rb +116 -0
- data/lib/puppet/metatype/schedules.rb +39 -0
- data/lib/puppet/metatype/tags.rb +39 -0
- data/lib/puppet/modules.rb +113 -0
- data/lib/puppet/network/authconfig.rb +168 -0
- data/lib/puppet/network/authorization.rb +84 -0
- data/lib/puppet/network/authstore.rb +293 -0
- data/lib/puppet/network/client.rb +187 -0
- data/lib/puppet/network/client/ca.rb +56 -0
- data/lib/puppet/network/client/dipper.rb +81 -0
- data/lib/puppet/network/client/file.rb +7 -0
- data/lib/puppet/network/client/logger.rb +6 -0
- data/lib/puppet/network/client/master.rb +644 -0
- data/lib/puppet/{client → network/client}/proxy.rb +3 -3
- data/lib/puppet/{client/reporter.rb → network/client/report.rb} +4 -7
- data/lib/puppet/{client/pelement.rb → network/client/resource.rb} +6 -19
- data/lib/puppet/network/client/runner.rb +13 -0
- data/lib/puppet/network/client/status.rb +5 -0
- data/lib/puppet/network/client_request.rb +32 -0
- data/lib/puppet/network/handler.rb +33 -0
- data/lib/puppet/{server → network/handler}/ca.rb +5 -6
- data/lib/puppet/network/handler/filebucket.rb +180 -0
- data/lib/puppet/{server → network/handler}/fileserver.rb +277 -219
- data/lib/puppet/{server → network/handler}/logger.rb +3 -5
- data/lib/puppet/{server → network/handler}/master.rb +42 -8
- data/lib/puppet/network/handler/report.rb +158 -0
- data/lib/puppet/network/handler/resource.rb +190 -0
- data/lib/puppet/{server → network/handler}/runner.rb +17 -18
- data/lib/puppet/network/handler/status.rb +13 -0
- data/lib/puppet/network/rights.rb +74 -0
- data/lib/puppet/network/server.rb +5 -0
- data/lib/puppet/network/server/mongrel.rb +138 -0
- data/lib/puppet/network/server/webrick.rb +153 -0
- data/lib/puppet/network/xmlrpc/client.rb +129 -0
- data/lib/puppet/network/xmlrpc/processor.rb +91 -0
- data/lib/puppet/network/xmlrpc/server.rb +20 -0
- data/lib/puppet/network/xmlrpc/webrick_servlet.rb +121 -0
- data/lib/puppet/parameter.rb +390 -346
- data/lib/puppet/parser/ast.rb +116 -147
- data/lib/puppet/parser/ast/astarray.rb +17 -33
- data/lib/puppet/parser/ast/branch.rb +2 -0
- data/lib/puppet/parser/ast/caseopt.rb +7 -12
- data/lib/puppet/parser/ast/casestatement.rb +23 -32
- data/lib/puppet/parser/ast/collection.rb +19 -80
- data/lib/puppet/parser/ast/collexpr.rb +81 -0
- data/lib/puppet/parser/ast/component.rb +160 -89
- data/lib/puppet/parser/ast/else.rb +30 -0
- data/lib/puppet/parser/ast/function.rb +9 -2
- data/lib/puppet/parser/ast/hostclass.rb +47 -131
- data/lib/puppet/parser/ast/ifstatement.rb +43 -0
- data/lib/puppet/parser/ast/leaf.rb +10 -21
- data/lib/puppet/parser/ast/node.rb +32 -79
- data/lib/puppet/parser/ast/resourcedef.rb +222 -0
- data/lib/puppet/parser/ast/{typedefaults.rb → resourcedefaults.rb} +10 -16
- data/lib/puppet/parser/ast/resourceoverride.rb +62 -0
- data/lib/puppet/parser/ast/{objectparam.rb → resourceparam.rb} +12 -6
- data/lib/puppet/parser/ast/resourceref.rb +44 -0
- data/lib/puppet/parser/ast/selector.rb +16 -8
- data/lib/puppet/parser/ast/tag.rb +3 -1
- data/lib/puppet/parser/ast/vardef.rb +8 -12
- data/lib/puppet/parser/collector.rb +181 -0
- data/lib/puppet/parser/functions.rb +191 -36
- data/lib/puppet/parser/interpreter.rb +802 -380
- data/lib/puppet/parser/lexer.rb +86 -19
- data/lib/puppet/parser/parser.rb +1123 -960
- data/lib/puppet/parser/resource.rb +353 -0
- data/lib/puppet/parser/resource/param.rb +57 -0
- data/lib/puppet/parser/resource/reference.rb +71 -0
- data/lib/puppet/parser/scope.rb +573 -1000
- data/lib/puppet/parser/templatewrapper.rb +54 -0
- data/lib/puppet/pgraph.rb +208 -0
- data/lib/puppet/propertychange.rb +143 -0
- data/lib/puppet/provider.rb +302 -0
- data/lib/puppet/provider/cron/crontab.rb +187 -0
- data/lib/puppet/provider/group/groupadd.rb +29 -0
- data/lib/puppet/provider/group/netinfo.rb +12 -0
- data/lib/puppet/provider/group/pw.rb +31 -0
- data/lib/puppet/provider/host/netinfo.rb +18 -0
- data/lib/puppet/provider/host/parsed.rb +73 -0
- data/lib/puppet/provider/mount.rb +57 -0
- data/lib/puppet/provider/mount/netinfo.rb +38 -0
- data/lib/puppet/provider/mount/parsed.rb +37 -0
- data/lib/puppet/provider/nameservice.rb +344 -0
- data/lib/puppet/provider/nameservice/netinfo.rb +210 -0
- data/lib/puppet/provider/nameservice/objectadd.rb +45 -0
- data/lib/puppet/provider/nameservice/pw.rb +22 -0
- data/lib/puppet/provider/package/apple.rb +53 -0
- data/lib/puppet/provider/package/apt.rb +119 -0
- data/lib/puppet/provider/package/aptitude.rb +30 -0
- data/lib/puppet/provider/package/aptrpm.rb +79 -0
- data/lib/puppet/provider/package/blastwave.rb +114 -0
- data/lib/puppet/provider/package/darwinport.rb +88 -0
- data/lib/puppet/provider/package/dpkg.rb +109 -0
- data/lib/puppet/provider/package/freebsd.rb +43 -0
- data/lib/puppet/provider/package/gem.rb +104 -0
- data/lib/puppet/provider/package/openbsd.rb +93 -0
- data/lib/puppet/provider/package/pkgdmg.rb +119 -0
- data/lib/puppet/provider/package/portage.rb +112 -0
- data/lib/puppet/provider/package/ports.rb +94 -0
- data/lib/puppet/provider/package/rpm.rb +125 -0
- data/lib/puppet/provider/package/rug.rb +53 -0
- data/lib/puppet/provider/package/sun.rb +168 -0
- data/lib/puppet/provider/package/sunfreeware.rb +9 -0
- data/lib/puppet/provider/package/up2date.rb +45 -0
- data/lib/puppet/provider/package/yum.rb +54 -0
- data/lib/puppet/provider/parsedfile.rb +342 -0
- data/lib/puppet/provider/port/parsed.rb +174 -0
- data/lib/puppet/provider/service/base.rb +136 -0
- data/lib/puppet/provider/service/debian.rb +32 -0
- data/lib/puppet/provider/service/gentoo.rb +49 -0
- data/lib/puppet/{type → provider}/service/init.rb +42 -40
- data/lib/puppet/provider/service/redhat.rb +59 -0
- data/lib/puppet/{type → provider}/service/smf.rb +24 -13
- data/lib/puppet/provider/sshkey/parsed.rb +36 -0
- data/lib/puppet/provider/user/netinfo.rb +106 -0
- data/lib/puppet/provider/user/pw.rb +41 -0
- data/lib/puppet/provider/user/useradd.rb +67 -0
- data/lib/puppet/provider/zone/solaris.rb +208 -0
- data/lib/puppet/rails.rb +102 -66
- data/lib/puppet/rails/database/001_add_indexes.rb +38 -0
- data/lib/puppet/rails/database/schema.rb +89 -0
- data/lib/puppet/rails/external/tagging/acts_as_taggable.rb +62 -0
- data/lib/puppet/rails/external/tagging/init.rb +5 -0
- data/lib/puppet/rails/external/tagging/tag.rb +50 -0
- data/lib/puppet/rails/external/tagging/tagging.rb +12 -0
- data/lib/puppet/rails/fact_name.rb +7 -0
- data/lib/puppet/rails/fact_value.rb +5 -0
- data/lib/puppet/rails/host.rb +95 -46
- data/lib/puppet/rails/param_name.rb +28 -0
- data/lib/puppet/rails/param_value.rb +5 -0
- data/lib/puppet/rails/puppet_class.rb +9 -0
- data/lib/puppet/rails/resource.rb +95 -0
- data/lib/puppet/rails/source_file.rb +5 -0
- data/lib/puppet/relationship.rb +63 -0
- data/lib/puppet/reports/log.rb +14 -0
- data/lib/puppet/reports/rrdgraph.rb +114 -10
- data/lib/puppet/reports/store.rb +64 -0
- data/lib/puppet/reports/tagmail.rb +144 -71
- data/lib/puppet/sslcertificates.rb +38 -5
- data/lib/puppet/sslcertificates/ca.rb +142 -37
- data/lib/puppet/sslcertificates/certificate.rb +3 -3
- data/lib/puppet/sslcertificates/inventory.rb +53 -0
- data/lib/puppet/sslcertificates/support.rb +128 -0
- data/lib/puppet/transaction.rb +568 -189
- data/lib/puppet/transaction/report.rb +14 -3
- data/lib/puppet/transportable.rb +18 -10
- data/lib/puppet/type.rb +279 -2299
- data/lib/puppet/type/component.rb +63 -63
- data/lib/puppet/type/cron.rb +294 -710
- data/lib/puppet/type/exec.rb +185 -129
- data/lib/puppet/type/group.rb +38 -89
- data/lib/puppet/type/host.rb +110 -0
- data/lib/puppet/type/mount.rb +189 -0
- data/lib/puppet/type/notify.rb +47 -0
- data/lib/puppet/type/package.rb +129 -257
- data/lib/puppet/type/parsedtype.rb +172 -297
- data/lib/puppet/type/pfile.rb +540 -319
- data/lib/puppet/type/pfile/checksum.rb +103 -76
- data/lib/puppet/type/pfile/content.rb +16 -10
- data/lib/puppet/type/pfile/ensure.rb +52 -34
- data/lib/puppet/type/pfile/group.rb +25 -18
- data/lib/puppet/type/pfile/mode.rb +7 -4
- data/lib/puppet/type/pfile/{uid.rb → owner.rb} +21 -17
- data/lib/puppet/type/pfile/source.rb +119 -124
- data/lib/puppet/type/pfile/target.rb +29 -45
- data/lib/puppet/type/pfile/type.rb +2 -2
- data/lib/puppet/type/pfilebucket.rb +18 -14
- data/lib/puppet/type/port.rb +121 -0
- data/lib/puppet/type/property.rb +530 -0
- data/lib/puppet/type/resources.rb +150 -0
- data/lib/puppet/type/schedule.rb +38 -22
- data/lib/puppet/type/service.rb +70 -326
- data/lib/puppet/type/sshkey.rb +76 -0
- data/lib/puppet/type/tidy.rb +197 -97
- data/lib/puppet/type/user.rb +107 -183
- data/lib/puppet/type/yumrepo.rb +53 -34
- data/lib/puppet/type/zone.rb +55 -208
- data/lib/puppet/util.rb +239 -201
- data/lib/puppet/util/autoload.rb +107 -0
- data/lib/puppet/util/classgen.rb +208 -0
- data/lib/puppet/{config.rb → util/config.rb} +102 -54
- data/lib/puppet/util/docs.rb +104 -0
- data/lib/puppet/util/errors.rb +55 -0
- data/lib/puppet/util/execution.rb +22 -0
- data/lib/puppet/util/feature.rb +76 -0
- data/lib/puppet/util/fileparsing.rb +380 -0
- data/lib/puppet/util/filetype.rb +300 -0
- data/lib/puppet/util/graph.rb +39 -0
- data/lib/puppet/util/inifile.rb +209 -0
- data/lib/puppet/util/loadedfile.rb +71 -0
- data/lib/puppet/util/log.rb +549 -0
- data/lib/puppet/util/logging.rb +20 -0
- data/lib/puppet/util/metaid.rb +22 -0
- data/lib/puppet/util/methodhelper.rb +37 -0
- data/lib/puppet/util/metric.rb +160 -0
- data/lib/puppet/util/package.rb +31 -0
- data/lib/puppet/util/pidlock.rb +68 -0
- data/lib/puppet/util/plist.rb +24 -0
- data/lib/puppet/util/plist/generator.rb +226 -0
- data/lib/puppet/util/plist/parser.rb +227 -0
- data/lib/puppet/util/posix.rb +87 -0
- data/lib/puppet/util/provider_features.rb +170 -0
- data/lib/puppet/util/rails/collection_merger.rb +42 -0
- data/lib/puppet/util/storage.rb +103 -0
- data/lib/puppet/util/subclass_loader.rb +83 -0
- data/lib/puppet/util/suidmanager.rb +86 -0
- data/lib/puppet/util/variables.rb +39 -0
- data/lib/puppet/util/warnings.rb +15 -0
- data/test/Rakefile +97 -0
- data/test/certmgr/ca.rb +81 -0
- data/test/certmgr/certmgr.rb +77 -50
- data/test/certmgr/inventory.rb +79 -0
- data/test/certmgr/support.rb +81 -0
- data/test/executables/filebucket.rb +49 -0
- data/test/executables/puppetbin.rb +28 -12
- data/test/executables/puppetca.rb +75 -54
- data/test/executables/puppetd.rb +10 -13
- data/test/executables/puppetmasterd.rb +12 -17
- data/test/executables/puppetmodule.rb +18 -17
- data/test/language/ast.rb +242 -798
- data/test/language/ast/casestatement.rb +104 -0
- data/test/language/ast/component.rb +133 -0
- data/test/language/ast/hostclass.rb +162 -0
- data/test/language/ast/selector.rb +62 -0
- data/test/language/ast/variable.rb +31 -0
- data/test/language/collector.rb +369 -0
- data/test/language/functions.rb +305 -18
- data/test/language/interpreter.rb +894 -125
- data/test/language/lexer.rb +98 -12
- data/test/language/node.rb +37 -53
- data/test/language/parser.rb +455 -148
- data/test/language/resource.rb +535 -0
- data/test/language/scope.rb +451 -561
- data/test/language/snippets.rb +101 -111
- data/test/language/transportable.rb +6 -8
- data/test/lib/mocha.rb +19 -0
- data/test/lib/mocha/any_instance_method.rb +35 -0
- data/test/lib/mocha/auto_verify.rb +113 -0
- data/test/lib/mocha/central.rb +35 -0
- data/test/lib/mocha/class_method.rb +62 -0
- data/test/lib/mocha/expectation.rb +295 -0
- data/test/lib/mocha/expectation_error.rb +6 -0
- data/test/lib/mocha/infinite_range.rb +27 -0
- data/test/lib/mocha/inspect.rb +37 -0
- data/test/lib/mocha/instance_method.rb +8 -0
- data/test/lib/mocha/metaclass.rb +7 -0
- data/test/lib/mocha/mock.rb +20 -0
- data/test/lib/mocha/mock_methods.rb +122 -0
- data/test/lib/mocha/object.rb +100 -0
- data/test/lib/mocha/pretty_parameters.rb +28 -0
- data/test/lib/mocha/setup_and_teardown.rb +23 -0
- data/test/lib/mocha/standalone.rb +30 -0
- data/test/lib/mocha/test_case_adapter.rb +49 -0
- data/test/lib/mocha_standalone.rb +2 -0
- data/test/lib/puppettest.rb +294 -0
- data/test/lib/puppettest/certificates.rb +61 -0
- data/test/lib/puppettest/exetest.rb +123 -0
- data/test/lib/puppettest/fakes.rb +194 -0
- data/test/lib/puppettest/fileparsing.rb +33 -0
- data/test/lib/puppettest/filetesting.rb +231 -0
- data/test/lib/puppettest/graph.rb +41 -0
- data/test/lib/puppettest/parsertesting.rb +392 -0
- data/test/lib/puppettest/railstesting.rb +56 -0
- data/test/lib/puppettest/reporttesting.rb +19 -0
- data/test/lib/puppettest/resourcetesting.rb +73 -0
- data/test/lib/puppettest/servertest.rb +72 -0
- data/test/lib/puppettest/support.rb +8 -0
- data/test/lib/puppettest/support/assertions.rb +101 -0
- data/test/lib/puppettest/support/helpers.rb +23 -0
- data/test/lib/puppettest/support/resources.rb +37 -0
- data/test/lib/puppettest/support/utils.rb +160 -0
- data/test/lib/puppettest/testcase.rb +48 -0
- data/test/lib/rake/puppet_test_loader.rb +17 -0
- data/test/lib/rake/puppet_testtask.rb +17 -0
- data/test/lib/spec.rb +8 -0
- data/test/lib/spec/callback.rb +11 -0
- data/test/lib/spec/callback/callback_container.rb +60 -0
- data/test/lib/spec/callback/extensions/module.rb +24 -0
- data/test/lib/spec/callback/extensions/object.rb +37 -0
- data/test/lib/spec/deprecated.rb +3 -0
- data/test/lib/spec/expectations.rb +59 -0
- data/test/lib/spec/expectations/differs/default.rb +62 -0
- data/test/lib/spec/expectations/errors.rb +6 -0
- data/test/lib/spec/expectations/extensions.rb +3 -0
- data/test/lib/spec/expectations/extensions/object.rb +109 -0
- data/test/lib/spec/expectations/extensions/proc.rb +57 -0
- data/test/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
- data/test/lib/spec/expectations/handler.rb +47 -0
- data/test/lib/spec/expectations/should.rb +5 -0
- data/test/lib/spec/expectations/should/base.rb +64 -0
- data/test/lib/spec/expectations/should/change.rb +69 -0
- data/test/lib/spec/expectations/should/have.rb +128 -0
- data/test/lib/spec/expectations/should/not.rb +74 -0
- data/test/lib/spec/expectations/should/should.rb +81 -0
- data/test/lib/spec/expectations/sugar.rb +47 -0
- data/test/lib/spec/matchers.rb +160 -0
- data/test/lib/spec/matchers/be.rb +161 -0
- data/test/lib/spec/matchers/be_close.rb +37 -0
- data/test/lib/spec/matchers/change.rb +120 -0
- data/test/lib/spec/matchers/eql.rb +43 -0
- data/test/lib/spec/matchers/equal.rb +43 -0
- data/test/lib/spec/matchers/has.rb +44 -0
- data/test/lib/spec/matchers/have.rb +140 -0
- data/test/lib/spec/matchers/include.rb +50 -0
- data/test/lib/spec/matchers/match.rb +41 -0
- data/test/lib/spec/matchers/raise_error.rb +100 -0
- data/test/lib/spec/matchers/respond_to.rb +35 -0
- data/test/lib/spec/matchers/satisfy.rb +47 -0
- data/test/lib/spec/matchers/throw_symbol.rb +75 -0
- data/test/lib/spec/mocks.rb +232 -0
- data/test/lib/spec/mocks/argument_expectation.rb +132 -0
- data/test/lib/spec/mocks/error_generator.rb +85 -0
- data/test/lib/spec/mocks/errors.rb +10 -0
- data/test/lib/spec/mocks/extensions/object.rb +3 -0
- data/test/lib/spec/mocks/message_expectation.rb +231 -0
- data/test/lib/spec/mocks/methods.rb +40 -0
- data/test/lib/spec/mocks/mock.rb +26 -0
- data/test/lib/spec/mocks/mock_handler.rb +166 -0
- data/test/lib/spec/mocks/order_group.rb +29 -0
- data/test/lib/spec/rake/spectask.rb +173 -0
- data/test/lib/spec/rake/verify_rcov.rb +47 -0
- data/test/lib/spec/runner.rb +132 -0
- data/test/lib/spec/runner/backtrace_tweaker.rb +55 -0
- data/test/lib/spec/runner/command_line.rb +34 -0
- data/test/lib/spec/runner/context.rb +154 -0
- data/test/lib/spec/runner/context_eval.rb +142 -0
- data/test/lib/spec/runner/context_runner.rb +55 -0
- data/test/lib/spec/runner/drb_command_line.rb +21 -0
- data/test/lib/spec/runner/execution_context.rb +17 -0
- data/test/lib/spec/runner/extensions/kernel.rb +17 -0
- data/test/lib/spec/runner/extensions/object.rb +32 -0
- data/test/lib/spec/runner/formatter.rb +5 -0
- data/test/lib/spec/runner/formatter/base_text_formatter.rb +118 -0
- data/test/lib/spec/runner/formatter/html_formatter.rb +219 -0
- data/test/lib/spec/runner/formatter/progress_bar_formatter.rb +27 -0
- data/test/lib/spec/runner/formatter/rdoc_formatter.rb +22 -0
- data/test/lib/spec/runner/formatter/specdoc_formatter.rb +23 -0
- data/test/lib/spec/runner/heckle_runner.rb +71 -0
- data/test/lib/spec/runner/heckle_runner_win.rb +10 -0
- data/test/lib/spec/runner/option_parser.rb +224 -0
- data/test/lib/spec/runner/reporter.rb +105 -0
- data/test/lib/spec/runner/spec_matcher.rb +25 -0
- data/test/lib/spec/runner/spec_parser.rb +41 -0
- data/test/lib/spec/runner/spec_should_raise_handler.rb +74 -0
- data/test/lib/spec/runner/specification.rb +114 -0
- data/test/lib/spec/translator.rb +87 -0
- data/test/lib/spec/version.rb +30 -0
- data/test/lib/stubba.rb +2 -0
- data/test/network/authconfig.rb +72 -0
- data/test/network/authorization.rb +138 -0
- data/test/network/authstore.rb +450 -0
- data/test/network/client/ca.rb +38 -0
- data/test/{client → network/client}/client.rb +107 -24
- data/test/network/client/dipper.rb +35 -0
- data/test/network/client/master.rb +627 -0
- data/test/{client/pelement.rb → network/client/resource.rb} +13 -29
- data/test/network/client_request.rb +39 -0
- data/test/network/daemon.rb +71 -0
- data/test/{server → network/handler}/bucket.rb +103 -27
- data/test/{server → network/handler}/ca.rb +14 -19
- data/test/{server → network/handler}/fileserver.rb +443 -68
- data/test/network/handler/handler.rb +64 -0
- data/test/{server → network/handler}/logger.rb +26 -26
- data/test/network/handler/master.rb +352 -0
- data/test/network/handler/report.rb +185 -0
- data/test/{server/pelement.rb → network/handler/resource.rb} +25 -38
- data/test/{server → network/handler}/runner.rb +17 -16
- data/test/network/rights.rb +38 -0
- data/test/network/server/webrick.rb +140 -0
- data/test/network/xmlrpc/client.rb +68 -0
- data/test/network/xmlrpc/processor.rb +80 -0
- data/test/network/xmlrpc/server.rb +28 -0
- data/test/network/xmlrpc/webrick_servlet.rb +26 -0
- data/test/other/dsl.rb +218 -0
- data/test/other/events.rb +22 -15
- data/test/other/overrides.rb +9 -14
- data/test/other/pgraph.rb +289 -0
- data/test/other/propertychange.rb +142 -0
- data/test/other/provider.rb +162 -0
- data/test/other/puppet.rb +63 -10
- data/test/other/relationship.rb +74 -0
- data/test/other/relationships.rb +199 -123
- data/test/other/report.rb +152 -23
- data/test/other/transactions.rb +824 -78
- data/test/puppet/conffiles.rb +16 -11
- data/test/puppet/defaults.rb +7 -10
- data/test/puppet/{error.rb → errortest.rb} +5 -8
- data/test/puppet/modules.rb +58 -0
- data/test/puppet/tc_suidmanager.rb +107 -0
- data/test/rails/host.rb +177 -0
- data/test/rails/rails.rb +27 -0
- data/test/rails/railsparameter.rb +62 -0
- data/test/rails/railsresource.rb +100 -0
- data/test/ral/manager/attributes.rb +296 -0
- data/test/ral/manager/manager.rb +55 -0
- data/test/ral/manager/provider.rb +54 -0
- data/test/ral/manager/type.rb +837 -0
- data/test/ral/providers/cron/crontab.rb +346 -0
- data/test/ral/providers/group.rb +252 -0
- data/test/ral/providers/host/netinfo.rb +58 -0
- data/test/ral/providers/host/parsed.rb +226 -0
- data/test/ral/providers/mount/netinfo.rb +80 -0
- data/test/ral/providers/mount/parsed.rb +223 -0
- data/test/ral/providers/nameservice.rb +33 -0
- data/test/ral/providers/package.rb +253 -0
- data/test/ral/providers/package/apt.rb +89 -0
- data/test/ral/providers/package/aptitude.rb +69 -0
- data/test/ral/providers/package/aptrpm.rb +89 -0
- data/test/ral/providers/package/dpkg.rb +64 -0
- data/test/ral/providers/parsedfile.rb +668 -0
- data/test/ral/providers/parsedport.rb +233 -0
- data/test/ral/providers/provider.rb +423 -0
- data/test/{types → ral/providers}/service.rb +20 -121
- data/test/ral/providers/service/base.rb +75 -0
- data/test/ral/providers/sshkey/parsed.rb +111 -0
- data/test/ral/providers/user.rb +567 -0
- data/test/ral/providers/user/useradd.rb +250 -0
- data/test/ral/types/basic.rb +90 -0
- data/test/ral/types/component.rb +113 -0
- data/test/ral/types/cron.rb +480 -0
- data/test/{types → ral/types}/exec.rb +278 -82
- data/test/ral/types/file.rb +1799 -0
- data/test/ral/types/file/target.rb +363 -0
- data/test/{types → ral/types}/filebucket.rb +15 -17
- data/test/{types → ral/types}/fileignoresource.rb +9 -15
- data/test/ral/types/filesources.rb +1046 -0
- data/test/ral/types/group.rb +169 -0
- data/test/ral/types/host.rb +155 -0
- data/test/ral/types/mount.rb +312 -0
- data/test/ral/types/package.rb +85 -0
- data/test/ral/types/parameter.rb +172 -0
- data/test/ral/types/port.rb +148 -0
- data/test/ral/types/property.rb +343 -0
- data/test/ral/types/resources.rb +221 -0
- data/test/{types → ral/types}/schedule.rb +34 -12
- data/test/ral/types/service.rb +37 -0
- data/test/{types → ral/types}/sshkey.rb +75 -65
- data/test/ral/types/tidy.rb +240 -0
- data/test/ral/types/user.rb +493 -0
- data/test/{types → ral/types}/yumrepo.rb +7 -11
- data/test/{types → ral/types}/zone.rb +45 -45
- data/test/tagging/tagging.rb +17 -26
- data/test/util/autoload.rb +130 -0
- data/test/util/classgen.rb +227 -0
- data/test/{other → util}/config.rb +373 -113
- data/test/util/execution.rb +34 -0
- data/test/util/features.rb +94 -0
- data/test/util/fileparsing.rb +677 -0
- data/test/{other → util}/filetype.rb +9 -12
- data/test/util/graph.rb +108 -0
- data/test/{other → util}/inifile.rb +24 -11
- data/test/util/loadedfile.rb +106 -0
- data/test/{other → util}/log.rb +96 -50
- data/test/{other → util}/metrics.rb +7 -17
- data/test/util/package.rb +27 -0
- data/test/util/pidlock.rb +126 -0
- data/test/util/posixtest.rb +173 -0
- data/test/util/storage.rb +123 -0
- data/test/util/subclass_loader.rb +100 -0
- data/test/util/utiltest.rb +368 -0
- metadata +449 -169
- data/examples/code/classing +0 -35
- data/examples/code/failers/badclassnoparam +0 -10
- data/examples/code/failers/badclassparam +0 -10
- data/examples/code/failers/badcompnoparam +0 -9
- data/examples/code/failers/badcompparam +0 -9
- data/examples/code/failers/badtypeparam +0 -3
- data/examples/code/failers/noobjectrvalue +0 -1
- data/examples/code/snippets/aliastest.pp +0 -16
- data/examples/code/snippets/argumentdefaults +0 -14
- data/examples/code/snippets/casestatement.pp +0 -58
- data/examples/code/snippets/classheirarchy.pp +0 -15
- data/examples/code/snippets/classincludes.pp +0 -17
- data/examples/code/snippets/classpathtest +0 -11
- data/examples/code/snippets/componentmetaparams.pp +0 -11
- data/examples/code/snippets/deepclassheirarchy.pp +0 -23
- data/examples/code/snippets/defineoverrides.pp +0 -17
- data/examples/code/snippets/dirchmod +0 -19
- data/examples/code/snippets/emptyclass.pp +0 -9
- data/examples/code/snippets/emptyexec.pp +0 -3
- data/examples/code/snippets/failmissingexecpath.pp +0 -13
- data/examples/code/snippets/falsevalues.pp +0 -3
- data/examples/code/snippets/filecreate +0 -11
- data/examples/code/snippets/implicititeration +0 -15
- data/examples/code/snippets/multipleinstances +0 -7
- data/examples/code/snippets/namevartest +0 -9
- data/examples/code/snippets/scopetest +0 -13
- data/examples/code/snippets/selectorvalues.pp +0 -42
- data/examples/code/snippets/simpledefaults +0 -5
- data/examples/code/snippets/simpleselector +0 -38
- data/examples/code/snippets/singleary.pp +0 -19
- data/examples/code/snippets/singlequote.pp +0 -11
- data/examples/code/snippets/singleselector.pp +0 -22
- data/examples/code/snippets/tag.pp +0 -9
- data/examples/code/snippets/tagged.pp +0 -35
- data/lib/puppet/client.rb +0 -177
- data/lib/puppet/client/ca.rb +0 -21
- data/lib/puppet/client/dipper.rb +0 -76
- data/lib/puppet/client/file.rb +0 -20
- data/lib/puppet/client/log.rb +0 -17
- data/lib/puppet/client/master.rb +0 -531
- data/lib/puppet/client/runner.rb +0 -17
- data/lib/puppet/client/status.rb +0 -7
- data/lib/puppet/event-loop.rb +0 -1
- data/lib/puppet/filetype.rb +0 -308
- data/lib/puppet/inifile.rb +0 -201
- data/lib/puppet/log.rb +0 -524
- data/lib/puppet/metric.rb +0 -132
- data/lib/puppet/networkclient.rb +0 -175
- data/lib/puppet/parsedfile.rb +0 -58
- data/lib/puppet/parser/ast/classdef.rb +0 -79
- data/lib/puppet/parser/ast/compdef.rb +0 -75
- data/lib/puppet/parser/ast/nodedef.rb +0 -73
- data/lib/puppet/parser/ast/objectdef.rb +0 -284
- data/lib/puppet/parser/ast/objectref.rb +0 -77
- data/lib/puppet/rails/database.rb +0 -40
- data/lib/puppet/rails/rails_object.rb +0 -42
- data/lib/puppet/rails/rails_parameter.rb +0 -5
- data/lib/puppet/server.rb +0 -196
- data/lib/puppet/server/authconfig.rb +0 -177
- data/lib/puppet/server/authstore.rb +0 -226
- data/lib/puppet/server/filebucket.rb +0 -155
- data/lib/puppet/server/pelement.rb +0 -188
- data/lib/puppet/server/report.rb +0 -184
- data/lib/puppet/server/rights.rb +0 -78
- data/lib/puppet/server/servlet.rb +0 -274
- data/lib/puppet/statechange.rb +0 -129
- data/lib/puppet/storage.rb +0 -98
- data/lib/puppet/type/nameservice.rb +0 -264
- data/lib/puppet/type/nameservice/netinfo.rb +0 -232
- data/lib/puppet/type/nameservice/objectadd.rb +0 -146
- data/lib/puppet/type/nameservice/posix.rb +0 -12
- data/lib/puppet/type/nameservice/pw.rb +0 -107
- data/lib/puppet/type/package/apple.rb +0 -41
- data/lib/puppet/type/package/apt.rb +0 -107
- data/lib/puppet/type/package/blastwave.rb +0 -136
- data/lib/puppet/type/package/darwinport.rb +0 -97
- data/lib/puppet/type/package/dpkg.rb +0 -113
- data/lib/puppet/type/package/freebsd.rb +0 -19
- data/lib/puppet/type/package/gem.rb +0 -119
- data/lib/puppet/type/package/openbsd.rb +0 -112
- data/lib/puppet/type/package/ports.rb +0 -103
- data/lib/puppet/type/package/rpm.rb +0 -121
- data/lib/puppet/type/package/sun.rb +0 -174
- data/lib/puppet/type/package/sunfreeware.rb +0 -7
- data/lib/puppet/type/package/yum.rb +0 -52
- data/lib/puppet/type/parsedtype/host.rb +0 -144
- data/lib/puppet/type/parsedtype/mount.rb +0 -271
- data/lib/puppet/type/parsedtype/port.rb +0 -261
- data/lib/puppet/type/parsedtype/sshkey.rb +0 -123
- data/lib/puppet/type/service/base.rb +0 -12
- data/lib/puppet/type/service/debian.rb +0 -46
- data/lib/puppet/type/service/redhat.rb +0 -38
- data/lib/puppet/type/state.rb +0 -393
- data/lib/puppet/type/symlink.rb +0 -186
- data/test/client/master.rb +0 -207
- data/test/language/rails.rb +0 -105
- data/test/other/parsedfile.rb +0 -58
- data/test/other/storage.rb +0 -100
- data/test/puppet/utiltest.rb +0 -299
- data/test/puppettest.rb +0 -1170
- data/test/server/authconfig.rb +0 -56
- data/test/server/authstore.rb +0 -218
- data/test/server/master.rb +0 -201
- data/test/server/report.rb +0 -93
- data/test/server/rights.rb +0 -41
- data/test/server/server.rb +0 -152
- data/test/test +0 -61
- data/test/types/basic.rb +0 -117
- data/test/types/component.rb +0 -298
- data/test/types/cron.rb +0 -718
- data/test/types/file.rb +0 -1314
- data/test/types/filesources.rb +0 -590
- data/test/types/group.rb +0 -323
- data/test/types/host.rb +0 -186
- data/test/types/mount.rb +0 -294
- data/test/types/package.rb +0 -538
- data/test/types/parameter.rb +0 -107
- data/test/types/port.rb +0 -201
- data/test/types/query.rb +0 -101
- data/test/types/state.rb +0 -92
- data/test/types/symlink.rb +0 -120
- data/test/types/tidy.rb +0 -102
- data/test/types/type.rb +0 -469
- data/test/types/user.rb +0 -563
data/lib/puppet/parser/lexer.rb
CHANGED
|
@@ -12,6 +12,8 @@ module Puppet
|
|
|
12
12
|
class Lexer
|
|
13
13
|
attr_reader :line, :last, :file
|
|
14
14
|
|
|
15
|
+
attr_accessor :indefine
|
|
16
|
+
|
|
15
17
|
#%r{\w+} => :WORD,
|
|
16
18
|
@@tokens = {
|
|
17
19
|
%r{#.*} => :COMMENT,
|
|
@@ -31,10 +33,13 @@ module Puppet
|
|
|
31
33
|
%r{<} => :LESSTHAN,
|
|
32
34
|
%r{<=} => :LESSEQUAL,
|
|
33
35
|
%r{!=} => :NOTEQUAL,
|
|
36
|
+
%r{!} => :NOT,
|
|
34
37
|
%r{,} => :COMMA,
|
|
35
38
|
%r{\.} => :DOT,
|
|
36
39
|
%r{:} => :COLON,
|
|
37
40
|
%r{@} => :AT,
|
|
41
|
+
%r{<<\|} => :LLCOLLECT,
|
|
42
|
+
%r{\|>>} => :RRCOLLECT,
|
|
38
43
|
%r{<\|} => :LCOLLECT,
|
|
39
44
|
%r{\|>} => :RCOLLECT,
|
|
40
45
|
%r{;} => :SEMIC,
|
|
@@ -42,9 +47,11 @@ module Puppet
|
|
|
42
47
|
%r{\\} => :BACKSLASH,
|
|
43
48
|
%r{=>} => :FARROW,
|
|
44
49
|
%r{[a-z][-\w]*} => :NAME,
|
|
50
|
+
%r{([a-z][-\w]*::)+[a-z][-\w]*} => :CLASSNAME,
|
|
51
|
+
%r{([A-Z][-\w]*::)+[A-Z][-\w]*} => :CLASSREF,
|
|
45
52
|
%r{[A-Z][-\w]*} => :TYPE,
|
|
46
53
|
%r{[0-9]+} => :NUMBER,
|
|
47
|
-
%r{
|
|
54
|
+
%r{\$(\w*::)*\w+} => :VARIABLE
|
|
48
55
|
}
|
|
49
56
|
|
|
50
57
|
@@keywords = {
|
|
@@ -54,17 +61,28 @@ module Puppet
|
|
|
54
61
|
"define" => :DEFINE,
|
|
55
62
|
"false" => :BOOLEAN,
|
|
56
63
|
"import" => :IMPORT,
|
|
64
|
+
"if" => :IF,
|
|
65
|
+
"elsif" => :ELSIF,
|
|
66
|
+
"else" => :ELSE,
|
|
57
67
|
"inherits" => :INHERITS,
|
|
58
68
|
"node" => :NODE,
|
|
59
|
-
"true" => :BOOLEAN
|
|
69
|
+
"true" => :BOOLEAN,
|
|
70
|
+
"and" => :AND,
|
|
71
|
+
"or" => :OR
|
|
60
72
|
}
|
|
61
73
|
|
|
74
|
+
def clear
|
|
75
|
+
initvars
|
|
76
|
+
end
|
|
77
|
+
|
|
62
78
|
# scan the whole file
|
|
63
79
|
# basically just used for testing
|
|
64
80
|
def fullscan
|
|
65
81
|
array = []
|
|
66
82
|
|
|
67
83
|
self.scan { |token,str|
|
|
84
|
+
# Ignore any definition nesting problems
|
|
85
|
+
@indefine = false
|
|
68
86
|
#Puppet.debug("got token '%s' => '%s'" % [token,str])
|
|
69
87
|
if token.nil?
|
|
70
88
|
return array
|
|
@@ -87,14 +105,47 @@ module Puppet
|
|
|
87
105
|
}
|
|
88
106
|
end
|
|
89
107
|
|
|
108
|
+
def indefine?
|
|
109
|
+
if defined? @indefine
|
|
110
|
+
@indefine
|
|
111
|
+
else
|
|
112
|
+
false
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
|
|
90
116
|
def initialize
|
|
117
|
+
initvars()
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def initvars
|
|
91
121
|
@line = 1
|
|
92
122
|
@last = ""
|
|
123
|
+
@lasttoken = nil
|
|
93
124
|
@scanner = nil
|
|
94
125
|
@file = nil
|
|
95
126
|
# AAARRGGGG! okay, regexes in ruby are bloody annoying
|
|
96
127
|
# no one else has "\n" =~ /\s/
|
|
97
128
|
@skip = %r{[ \t]+}
|
|
129
|
+
|
|
130
|
+
@namestack = []
|
|
131
|
+
@indefine = false
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
# Go up one in the namespace.
|
|
135
|
+
def namepop
|
|
136
|
+
@namestack.pop
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# Collect the current namespace.
|
|
140
|
+
def namespace
|
|
141
|
+
@namestack.join("::")
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# This value might have :: in it, but we don't care -- it'll be
|
|
145
|
+
# handled normally when joining, and when popping we want to pop
|
|
146
|
+
# this full value, however long the namespace is.
|
|
147
|
+
def namestack(value)
|
|
148
|
+
@namestack << value
|
|
98
149
|
end
|
|
99
150
|
|
|
100
151
|
def rest
|
|
@@ -161,6 +212,7 @@ module Puppet
|
|
|
161
212
|
# if this gets much more complicated, it should
|
|
162
213
|
# be moved up to where the tokens themselves are defined
|
|
163
214
|
# which will get me about 75% of the way to a lexer generator
|
|
215
|
+
ptoken = stoken
|
|
164
216
|
case stoken
|
|
165
217
|
when :NAME then
|
|
166
218
|
wtoken = stoken
|
|
@@ -168,36 +220,51 @@ module Puppet
|
|
|
168
220
|
if @@keywords.include?(value)
|
|
169
221
|
wtoken = @@keywords[value]
|
|
170
222
|
#Puppet.debug("token '%s'" % wtoken)
|
|
223
|
+
if wtoken == :BOOLEAN
|
|
224
|
+
value = eval(value)
|
|
225
|
+
end
|
|
171
226
|
end
|
|
172
|
-
|
|
173
|
-
@last = value
|
|
227
|
+
ptoken = wtoken
|
|
174
228
|
when :NUMBER then
|
|
175
|
-
|
|
176
|
-
# just throw comments away
|
|
229
|
+
ptoken = :NAME
|
|
177
230
|
when :COMMENT then
|
|
178
231
|
# just throw comments away
|
|
232
|
+
next
|
|
179
233
|
when :RETURN then
|
|
180
234
|
@line += 1
|
|
181
235
|
@scanner.skip(@skip)
|
|
236
|
+
next
|
|
182
237
|
when :SQUOTE then
|
|
183
238
|
#Puppet.debug("searching '%s' after '%s'" % [self.rest,value])
|
|
184
239
|
value = self.slurpstring(value)
|
|
185
|
-
|
|
186
|
-
@last = value
|
|
187
|
-
#stoken = :DQTEXT
|
|
240
|
+
ptoken = :SQTEXT
|
|
188
241
|
#Puppet.debug("got string '%s' => '%s'" % [:DQTEXT,value])
|
|
189
242
|
when :DQUOTE then
|
|
190
|
-
#Puppet.debug("searching '%s' after '%s'" % [self.rest,value])
|
|
191
243
|
value = self.slurpstring(value)
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
244
|
+
ptoken = :DQTEXT
|
|
245
|
+
when :VARIABLE then
|
|
246
|
+
value = value.sub(/^\$/, '')
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
yield [ptoken, value]
|
|
250
|
+
|
|
251
|
+
if @lasttoken == :CLASS
|
|
252
|
+
namestack(value)
|
|
200
253
|
end
|
|
254
|
+
|
|
255
|
+
if @lasttoken == :DEFINE
|
|
256
|
+
if indefine?
|
|
257
|
+
msg = "Cannot nest definition %s inside %s" % [value, @indefine]
|
|
258
|
+
self.indefine = false
|
|
259
|
+
raise Puppet::ParseError, msg
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
@indefine = value
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
@last = value
|
|
266
|
+
@lasttoken = ptoken
|
|
267
|
+
|
|
201
268
|
@scanner.skip(@skip)
|
|
202
269
|
end
|
|
203
270
|
@scanner = nil
|
|
@@ -230,4 +297,4 @@ module Puppet
|
|
|
230
297
|
end
|
|
231
298
|
end
|
|
232
299
|
|
|
233
|
-
# $Id: lexer.rb
|
|
300
|
+
# $Id: lexer.rb 2393 2007-04-19 18:34:03Z luke $
|
data/lib/puppet/parser/parser.rb
CHANGED
|
@@ -8,7 +8,7 @@ require 'racc/parser'
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
require 'puppet'
|
|
11
|
-
require 'puppet/
|
|
11
|
+
require 'puppet/util/loadedfile'
|
|
12
12
|
require 'puppet/parser/lexer'
|
|
13
13
|
require 'puppet/parser/ast'
|
|
14
14
|
#require 'puppet/parser/interpreter'
|
|
@@ -29,12 +29,24 @@ module Puppet
|
|
|
29
29
|
|
|
30
30
|
class Parser < Racc::Parser
|
|
31
31
|
|
|
32
|
-
module_eval <<'..end grammar.ra modeval..
|
|
32
|
+
module_eval <<'..end grammar.ra modeval..id2ea020a302', 'grammar.ra', 606
|
|
33
33
|
require 'puppet/parser/functions'
|
|
34
34
|
|
|
35
|
-
attr_reader :file
|
|
35
|
+
attr_reader :file, :interp
|
|
36
36
|
attr_accessor :files
|
|
37
37
|
|
|
38
|
+
# Add context to a message; useful for error messages and such.
|
|
39
|
+
def addcontext(message, obj = nil)
|
|
40
|
+
obj ||= @lexer
|
|
41
|
+
|
|
42
|
+
message += " on line %s" % obj.line
|
|
43
|
+
if file = obj.file
|
|
44
|
+
message += " in file %s" % file
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
return message
|
|
48
|
+
end
|
|
49
|
+
|
|
38
50
|
# Create an AST array out of all of the args
|
|
39
51
|
def aryfy(*args)
|
|
40
52
|
if args[0].instance_of?(AST::ASTArray)
|
|
@@ -43,14 +55,40 @@ def aryfy(*args)
|
|
|
43
55
|
result.push arg
|
|
44
56
|
}
|
|
45
57
|
else
|
|
46
|
-
result = AST::ASTArray
|
|
47
|
-
:children => args
|
|
48
|
-
)
|
|
58
|
+
result = ast AST::ASTArray, :children => args
|
|
49
59
|
end
|
|
50
60
|
|
|
51
61
|
return result
|
|
52
62
|
end
|
|
53
63
|
|
|
64
|
+
# Create an AST object, and automatically add the file and line information if
|
|
65
|
+
# available.
|
|
66
|
+
def ast(klass, hash = nil)
|
|
67
|
+
hash ||= {}
|
|
68
|
+
unless hash.include?(:line)
|
|
69
|
+
hash[:line] = @lexer.line
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
unless hash.include?(:file)
|
|
73
|
+
if file = @lexer.file
|
|
74
|
+
hash[:file] = file
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
return klass.new(hash)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Raise a Parse error.
|
|
82
|
+
def error(message)
|
|
83
|
+
except = Puppet::ParseError.new(message)
|
|
84
|
+
except.line = @lexer.line
|
|
85
|
+
if @lexer.file
|
|
86
|
+
except.file = @lexer.file
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
raise except
|
|
90
|
+
end
|
|
91
|
+
|
|
54
92
|
def file=(file)
|
|
55
93
|
unless FileTest.exists?(file)
|
|
56
94
|
unless file =~ /\.pp$/
|
|
@@ -63,17 +101,80 @@ def file=(file)
|
|
|
63
101
|
if @files.detect { |f| f.file == file }
|
|
64
102
|
raise Puppet::ImportError.new("Import loop detected")
|
|
65
103
|
else
|
|
66
|
-
@files << Puppet::
|
|
104
|
+
@files << Puppet::Util::LoadedFile.new(file)
|
|
67
105
|
@lexer.file = file
|
|
68
106
|
end
|
|
69
107
|
end
|
|
70
108
|
|
|
71
|
-
|
|
109
|
+
# Import our files.
|
|
110
|
+
def import(file)
|
|
111
|
+
if Puppet[:ignoreimport]
|
|
112
|
+
return AST::ASTArray.new(:children => [])
|
|
113
|
+
end
|
|
114
|
+
# use a path relative to the file doing the importing
|
|
115
|
+
if @lexer.file
|
|
116
|
+
dir = @lexer.file.sub(%r{[^/]+$},'').sub(/\/$/, '')
|
|
117
|
+
else
|
|
118
|
+
dir = "."
|
|
119
|
+
end
|
|
120
|
+
if dir == ""
|
|
121
|
+
dir = "."
|
|
122
|
+
end
|
|
123
|
+
result = ast AST::ASTArray
|
|
124
|
+
|
|
125
|
+
# We can't interpolate at this point since we don't have any
|
|
126
|
+
# scopes set up. Warn the user if they use a variable reference
|
|
127
|
+
pat = file
|
|
128
|
+
if pat.index("$")
|
|
129
|
+
Puppet.warning(
|
|
130
|
+
"The import of #{pat} contains a variable reference;" +
|
|
131
|
+
" variables are not interpolated for imports " +
|
|
132
|
+
"in file #{@lexer.file} at line #{@lexer.line}"
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
files = Puppet::Module::find_manifests(pat, dir)
|
|
136
|
+
if files.size == 0
|
|
137
|
+
raise Puppet::ImportError.new("No file(s) found for import " +
|
|
138
|
+
"of '#{pat}'")
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
files.collect { |file|
|
|
142
|
+
parser = Puppet::Parser::Parser.new(interp)
|
|
143
|
+
parser.files = self.files
|
|
144
|
+
Puppet.debug("importing '%s'" % file)
|
|
145
|
+
|
|
146
|
+
unless file =~ /^#{File::SEPARATOR}/
|
|
147
|
+
file = File.join(dir, file)
|
|
148
|
+
end
|
|
149
|
+
begin
|
|
150
|
+
parser.file = file
|
|
151
|
+
rescue Puppet::ImportError
|
|
152
|
+
Puppet.warning(
|
|
153
|
+
"Importing %s would result in an import loop" %
|
|
154
|
+
File.join(dir, file)
|
|
155
|
+
)
|
|
156
|
+
next
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# This will normally add code to the 'main' class.
|
|
160
|
+
parser.parse
|
|
161
|
+
}
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
def initialize(interpreter)
|
|
165
|
+
@interp = interpreter
|
|
166
|
+
initvars()
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
# Initialize or reset all of our variables.
|
|
170
|
+
def initvars
|
|
72
171
|
@lexer = Puppet::Parser::Lexer.new()
|
|
73
172
|
@files = []
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
# The fully qualifed name, with the full namespace.
|
|
176
|
+
def fqname(name)
|
|
177
|
+
[@lexer.namespace, name].join("::").sub(/^::/, '')
|
|
77
178
|
end
|
|
78
179
|
|
|
79
180
|
def on_error(token,value,stack)
|
|
@@ -82,14 +183,6 @@ def on_error(token,value,stack)
|
|
|
82
183
|
# [@lexer.line,@lexer.last]
|
|
83
184
|
error = "Syntax error at '%s'" % [value]
|
|
84
185
|
|
|
85
|
-
#if Puppet[:debug]
|
|
86
|
-
#puts stack.inspect
|
|
87
|
-
#puts stack.class
|
|
88
|
-
#end
|
|
89
|
-
#if @lexer.file
|
|
90
|
-
# error += (" in '%s'" % @lexer.file)
|
|
91
|
-
#end
|
|
92
|
-
|
|
93
186
|
except = Puppet::ParseError.new(error)
|
|
94
187
|
except.line = @lexer.line
|
|
95
188
|
if @lexer.file
|
|
@@ -100,14 +193,17 @@ def on_error(token,value,stack)
|
|
|
100
193
|
end
|
|
101
194
|
|
|
102
195
|
# how should I do error handling here?
|
|
103
|
-
def parse
|
|
196
|
+
def parse(string = nil)
|
|
197
|
+
if string
|
|
198
|
+
self.string = string
|
|
199
|
+
end
|
|
104
200
|
begin
|
|
105
|
-
yyparse(@lexer,:scan)
|
|
201
|
+
main = yyparse(@lexer,:scan)
|
|
106
202
|
rescue Racc::ParseError => except
|
|
107
203
|
error = Puppet::ParseError.new(except)
|
|
108
204
|
error.line = @lexer.line
|
|
109
205
|
error.file = @lexer.file
|
|
110
|
-
error.
|
|
206
|
+
error.set_backtrace except.backtrace
|
|
111
207
|
raise error
|
|
112
208
|
rescue Puppet::ParseError => except
|
|
113
209
|
except.line ||= @lexer.line
|
|
@@ -117,33 +213,34 @@ def parse
|
|
|
117
213
|
# and this is a framework error
|
|
118
214
|
except.line ||= @lexer.line
|
|
119
215
|
except.file ||= @lexer.file
|
|
120
|
-
#if Puppet[:debug]
|
|
121
|
-
# puts except.stack
|
|
122
|
-
#end
|
|
123
216
|
raise except
|
|
124
217
|
rescue Puppet::DevError => except
|
|
125
218
|
except.line ||= @lexer.line
|
|
126
219
|
except.file ||= @lexer.file
|
|
127
|
-
#if Puppet[:debug]
|
|
128
|
-
# puts except.stack
|
|
129
|
-
#end
|
|
130
220
|
raise except
|
|
131
221
|
rescue => except
|
|
132
222
|
error = Puppet::DevError.new(except.message)
|
|
133
223
|
error.line = @lexer.line
|
|
134
224
|
error.file = @lexer.file
|
|
135
|
-
error.
|
|
136
|
-
#if Puppet[:debug]
|
|
137
|
-
# puts caller
|
|
138
|
-
#end
|
|
225
|
+
error.set_backtrace except.backtrace
|
|
139
226
|
raise error
|
|
140
227
|
end
|
|
228
|
+
if main
|
|
229
|
+
# Store the results as the top-level class.
|
|
230
|
+
interp.newclass("", :code => main)
|
|
231
|
+
return main
|
|
232
|
+
end
|
|
233
|
+
ensure
|
|
234
|
+
@lexer.clear
|
|
141
235
|
end
|
|
142
236
|
|
|
237
|
+
# See if any of the files have changed.
|
|
143
238
|
def reparse?
|
|
144
|
-
@files.detect { |file|
|
|
145
|
-
file.
|
|
146
|
-
|
|
239
|
+
if file = @files.detect { |file| file.changed? }
|
|
240
|
+
return file.stamp
|
|
241
|
+
else
|
|
242
|
+
return false
|
|
243
|
+
end
|
|
147
244
|
end
|
|
148
245
|
|
|
149
246
|
def string=(string)
|
|
@@ -155,325 +252,434 @@ end
|
|
|
155
252
|
# mode: ruby
|
|
156
253
|
# End:
|
|
157
254
|
|
|
158
|
-
# $Id: parser.rb
|
|
255
|
+
# $Id: parser.rb 2393 2007-04-19 18:34:03Z luke $
|
|
159
256
|
|
|
160
|
-
..end grammar.ra modeval..
|
|
257
|
+
..end grammar.ra modeval..id2ea020a302
|
|
161
258
|
|
|
162
259
|
##### racc 1.4.5 generates ###
|
|
163
260
|
|
|
164
261
|
racc_reduce_table = [
|
|
165
262
|
0, 0, :racc_error,
|
|
166
|
-
1,
|
|
167
|
-
1,
|
|
168
|
-
1,
|
|
169
|
-
2,
|
|
170
|
-
1,
|
|
171
|
-
1,
|
|
172
|
-
1,
|
|
173
|
-
1,
|
|
174
|
-
1,
|
|
175
|
-
1,
|
|
176
|
-
1,
|
|
177
|
-
1,
|
|
178
|
-
1,
|
|
179
|
-
1,
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
3,
|
|
184
|
-
|
|
185
|
-
1,
|
|
186
|
-
1,
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
1, 63, :_reduce_none,
|
|
194
|
-
3, 63, :_reduce_29,
|
|
195
|
-
0, 64, :_reduce_none,
|
|
196
|
-
1, 64, :_reduce_none,
|
|
197
|
-
1, 60, :_reduce_32,
|
|
198
|
-
1, 67, :_reduce_33,
|
|
199
|
-
1, 69, :_reduce_none,
|
|
200
|
-
1, 69, :_reduce_none,
|
|
201
|
-
1, 69, :_reduce_none,
|
|
202
|
-
1, 69, :_reduce_none,
|
|
263
|
+
1, 51, :_reduce_1,
|
|
264
|
+
1, 51, :_reduce_none,
|
|
265
|
+
1, 52, :_reduce_none,
|
|
266
|
+
2, 52, :_reduce_4,
|
|
267
|
+
1, 54, :_reduce_none,
|
|
268
|
+
1, 54, :_reduce_none,
|
|
269
|
+
1, 54, :_reduce_none,
|
|
270
|
+
1, 54, :_reduce_none,
|
|
271
|
+
1, 54, :_reduce_none,
|
|
272
|
+
1, 54, :_reduce_none,
|
|
273
|
+
1, 54, :_reduce_none,
|
|
274
|
+
1, 54, :_reduce_none,
|
|
275
|
+
1, 54, :_reduce_none,
|
|
276
|
+
1, 54, :_reduce_none,
|
|
277
|
+
1, 54, :_reduce_none,
|
|
278
|
+
1, 54, :_reduce_none,
|
|
279
|
+
4, 62, :_reduce_17,
|
|
280
|
+
3, 62, :_reduce_18,
|
|
281
|
+
2, 62, :_reduce_19,
|
|
282
|
+
1, 67, :_reduce_none,
|
|
283
|
+
1, 67, :_reduce_none,
|
|
284
|
+
1, 68, :_reduce_none,
|
|
285
|
+
3, 68, :_reduce_23,
|
|
286
|
+
1, 70, :_reduce_none,
|
|
287
|
+
1, 70, :_reduce_none,
|
|
288
|
+
1, 70, :_reduce_none,
|
|
289
|
+
1, 70, :_reduce_27,
|
|
203
290
|
1, 69, :_reduce_none,
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
1,
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
1,
|
|
214
|
-
1, 72, :_reduce_none,
|
|
215
|
-
1, 72, :_reduce_none,
|
|
216
|
-
1, 72, :_reduce_none,
|
|
217
|
-
1, 72, :_reduce_none,
|
|
218
|
-
1, 72, :_reduce_none,
|
|
219
|
-
1, 72, :_reduce_none,
|
|
220
|
-
1, 72, :_reduce_none,
|
|
221
|
-
4, 78, :_reduce_56,
|
|
222
|
-
1, 62, :_reduce_57,
|
|
223
|
-
1, 62, :_reduce_58,
|
|
224
|
-
1, 76, :_reduce_59,
|
|
225
|
-
4, 77, :_reduce_60,
|
|
226
|
-
5, 52, :_reduce_61,
|
|
227
|
-
1, 79, :_reduce_none,
|
|
228
|
-
2, 79, :_reduce_63,
|
|
229
|
-
5, 80, :_reduce_64,
|
|
230
|
-
4, 80, :_reduce_65,
|
|
291
|
+
3, 69, :_reduce_29,
|
|
292
|
+
5, 55, :_reduce_30,
|
|
293
|
+
5, 55, :_reduce_31,
|
|
294
|
+
5, 55, :_reduce_32,
|
|
295
|
+
5, 66, :_reduce_33,
|
|
296
|
+
2, 56, :_reduce_34,
|
|
297
|
+
1, 80, :_reduce_35,
|
|
298
|
+
2, 80, :_reduce_36,
|
|
299
|
+
2, 57, :_reduce_37,
|
|
300
|
+
1, 81, :_reduce_none,
|
|
231
301
|
1, 81, :_reduce_none,
|
|
232
|
-
3,
|
|
233
|
-
3,
|
|
302
|
+
3, 82, :_reduce_40,
|
|
303
|
+
3, 82, :_reduce_41,
|
|
234
304
|
1, 83, :_reduce_none,
|
|
235
|
-
|
|
305
|
+
1, 83, :_reduce_none,
|
|
306
|
+
3, 83, :_reduce_44,
|
|
307
|
+
1, 84, :_reduce_none,
|
|
308
|
+
3, 84, :_reduce_46,
|
|
236
309
|
1, 85, :_reduce_none,
|
|
237
|
-
|
|
238
|
-
3,
|
|
239
|
-
|
|
240
|
-
1,
|
|
241
|
-
1, 82, :_reduce_none,
|
|
242
|
-
1, 82, :_reduce_none,
|
|
243
|
-
1, 82, :_reduce_none,
|
|
244
|
-
1, 82, :_reduce_none,
|
|
245
|
-
1, 82, :_reduce_80,
|
|
246
|
-
2, 53, :_reduce_81,
|
|
247
|
-
6, 55, :_reduce_82,
|
|
248
|
-
5, 55, :_reduce_83,
|
|
249
|
-
6, 56, :_reduce_84,
|
|
250
|
-
5, 56, :_reduce_85,
|
|
251
|
-
6, 57, :_reduce_86,
|
|
252
|
-
5, 57, :_reduce_87,
|
|
253
|
-
1, 88, :_reduce_none,
|
|
254
|
-
3, 88, :_reduce_89,
|
|
255
|
-
1, 89, :_reduce_90,
|
|
256
|
-
1, 89, :_reduce_91,
|
|
257
|
-
1, 89, :_reduce_92,
|
|
258
|
-
0, 46, :_reduce_93,
|
|
259
|
-
1, 86, :_reduce_none,
|
|
260
|
-
3, 86, :_reduce_95,
|
|
261
|
-
3, 86, :_reduce_96,
|
|
262
|
-
1, 90, :_reduce_none,
|
|
263
|
-
3, 90, :_reduce_98,
|
|
264
|
-
3, 91, :_reduce_99,
|
|
265
|
-
1, 91, :_reduce_100,
|
|
310
|
+
1, 85, :_reduce_none,
|
|
311
|
+
3, 86, :_reduce_49,
|
|
312
|
+
3, 86, :_reduce_50,
|
|
313
|
+
1, 87, :_reduce_none,
|
|
266
314
|
1, 87, :_reduce_none,
|
|
267
|
-
|
|
268
|
-
1,
|
|
269
|
-
3,
|
|
270
|
-
|
|
315
|
+
4, 89, :_reduce_53,
|
|
316
|
+
1, 76, :_reduce_none,
|
|
317
|
+
3, 76, :_reduce_55,
|
|
318
|
+
0, 77, :_reduce_none,
|
|
319
|
+
1, 77, :_reduce_none,
|
|
320
|
+
1, 71, :_reduce_58,
|
|
321
|
+
1, 91, :_reduce_59,
|
|
322
|
+
1, 90, :_reduce_none,
|
|
323
|
+
1, 90, :_reduce_none,
|
|
324
|
+
1, 90, :_reduce_none,
|
|
325
|
+
1, 90, :_reduce_none,
|
|
326
|
+
1, 90, :_reduce_none,
|
|
327
|
+
1, 90, :_reduce_none,
|
|
328
|
+
3, 58, :_reduce_66,
|
|
329
|
+
0, 78, :_reduce_67,
|
|
330
|
+
1, 78, :_reduce_68,
|
|
331
|
+
3, 78, :_reduce_69,
|
|
332
|
+
3, 95, :_reduce_70,
|
|
333
|
+
1, 96, :_reduce_none,
|
|
334
|
+
3, 96, :_reduce_72,
|
|
335
|
+
1, 88, :_reduce_none,
|
|
336
|
+
1, 88, :_reduce_none,
|
|
337
|
+
1, 88, :_reduce_none,
|
|
338
|
+
1, 88, :_reduce_none,
|
|
339
|
+
1, 88, :_reduce_none,
|
|
340
|
+
1, 88, :_reduce_none,
|
|
341
|
+
1, 94, :_reduce_none,
|
|
342
|
+
1, 94, :_reduce_none,
|
|
343
|
+
1, 94, :_reduce_none,
|
|
344
|
+
1, 94, :_reduce_none,
|
|
345
|
+
1, 94, :_reduce_none,
|
|
346
|
+
1, 94, :_reduce_none,
|
|
347
|
+
1, 94, :_reduce_none,
|
|
348
|
+
1, 94, :_reduce_none,
|
|
349
|
+
1, 94, :_reduce_none,
|
|
350
|
+
4, 99, :_reduce_88,
|
|
351
|
+
3, 99, :_reduce_89,
|
|
352
|
+
1, 73, :_reduce_90,
|
|
353
|
+
1, 73, :_reduce_91,
|
|
354
|
+
1, 98, :_reduce_92,
|
|
355
|
+
4, 74, :_reduce_93,
|
|
356
|
+
4, 74, :_reduce_94,
|
|
357
|
+
6, 60, :_reduce_95,
|
|
358
|
+
0, 101, :_reduce_none,
|
|
359
|
+
4, 101, :_reduce_97,
|
|
360
|
+
1, 100, :_reduce_none,
|
|
361
|
+
5, 59, :_reduce_99,
|
|
362
|
+
1, 102, :_reduce_none,
|
|
363
|
+
2, 102, :_reduce_101,
|
|
364
|
+
5, 103, :_reduce_102,
|
|
365
|
+
4, 103, :_reduce_103,
|
|
366
|
+
1, 104, :_reduce_none,
|
|
367
|
+
3, 104, :_reduce_105,
|
|
368
|
+
3, 92, :_reduce_106,
|
|
369
|
+
1, 106, :_reduce_none,
|
|
370
|
+
4, 106, :_reduce_108,
|
|
371
|
+
1, 108, :_reduce_none,
|
|
372
|
+
3, 108, :_reduce_110,
|
|
373
|
+
3, 107, :_reduce_111,
|
|
374
|
+
1, 105, :_reduce_none,
|
|
375
|
+
1, 105, :_reduce_none,
|
|
376
|
+
1, 105, :_reduce_none,
|
|
377
|
+
1, 105, :_reduce_none,
|
|
378
|
+
1, 105, :_reduce_none,
|
|
379
|
+
1, 105, :_reduce_none,
|
|
380
|
+
1, 105, :_reduce_118,
|
|
381
|
+
1, 109, :_reduce_119,
|
|
382
|
+
3, 109, :_reduce_120,
|
|
383
|
+
2, 61, :_reduce_121,
|
|
384
|
+
6, 63, :_reduce_122,
|
|
385
|
+
5, 63, :_reduce_123,
|
|
386
|
+
6, 64, :_reduce_124,
|
|
387
|
+
5, 64, :_reduce_125,
|
|
388
|
+
6, 65, :_reduce_126,
|
|
389
|
+
5, 65, :_reduce_127,
|
|
271
390
|
1, 75, :_reduce_none,
|
|
272
391
|
1, 75, :_reduce_none,
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
392
|
+
1, 112, :_reduce_none,
|
|
393
|
+
3, 112, :_reduce_131,
|
|
394
|
+
1, 114, :_reduce_none,
|
|
395
|
+
1, 114, :_reduce_none,
|
|
396
|
+
1, 114, :_reduce_none,
|
|
397
|
+
0, 53, :_reduce_135,
|
|
398
|
+
0, 115, :_reduce_136,
|
|
399
|
+
1, 110, :_reduce_none,
|
|
400
|
+
3, 110, :_reduce_138,
|
|
401
|
+
3, 110, :_reduce_139,
|
|
402
|
+
1, 116, :_reduce_none,
|
|
403
|
+
3, 116, :_reduce_141,
|
|
404
|
+
3, 117, :_reduce_142,
|
|
405
|
+
1, 117, :_reduce_143,
|
|
406
|
+
3, 117, :_reduce_144,
|
|
407
|
+
1, 117, :_reduce_145,
|
|
408
|
+
1, 113, :_reduce_none,
|
|
409
|
+
2, 113, :_reduce_147,
|
|
410
|
+
1, 111, :_reduce_none,
|
|
411
|
+
2, 111, :_reduce_149,
|
|
412
|
+
1, 118, :_reduce_none,
|
|
413
|
+
1, 118, :_reduce_none,
|
|
414
|
+
1, 119, :_reduce_none,
|
|
415
|
+
1, 119, :_reduce_none,
|
|
416
|
+
1, 72, :_reduce_154,
|
|
417
|
+
3, 93, :_reduce_155,
|
|
418
|
+
2, 93, :_reduce_156,
|
|
419
|
+
1, 97, :_reduce_none,
|
|
420
|
+
1, 97, :_reduce_none,
|
|
421
|
+
0, 79, :_reduce_none,
|
|
422
|
+
1, 79, :_reduce_160 ]
|
|
423
|
+
|
|
424
|
+
racc_reduce_n = 161
|
|
425
|
+
|
|
426
|
+
racc_shift_n = 263
|
|
279
427
|
|
|
280
428
|
racc_action_table = [
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
17,
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
429
|
+
49, 51, 53, 41, -128, 51, 53, 51, 53, 51,
|
|
430
|
+
53, 188, 58, 96, 49, 110, 58, 63, 51, 53,
|
|
431
|
+
46, 43, 58, 33, 116, 170, 156, 107, 217, 88,
|
|
432
|
+
4, 45, 163, 74, 116, 45, 55, 45, 93, 45,
|
|
433
|
+
98, 191, 55, 47, 98, 44, 192, 47, 45, 47,
|
|
434
|
+
36, 47, 65, 69, 153, 154, 75, 63, 51, 53,
|
|
435
|
+
33, 233, 187, 63, 51, 53, 113, 4, 79, 63,
|
|
436
|
+
51, 53, 80, 74, 232, 63, 51, 53, 187, 74,
|
|
437
|
+
158, 63, 51, 53, 38, 74, 196, 39, 45, 157,
|
|
438
|
+
191, 74, 65, 69, 45, 192, 75, 74, 65, 69,
|
|
439
|
+
45, 187, 75, 198, 65, 69, 45, -113, 75, -112,
|
|
440
|
+
65, 69, 45, 185, 75, 97, 65, 69, 51, 53,
|
|
441
|
+
75, 63, 51, 53, -115, 205, 45, 63, 51, 53,
|
|
442
|
+
-114, 98, 200, 63, 51, 53, -112, 74, -113, 63,
|
|
443
|
+
51, 53, 117, 74, -115, 63, 51, 53, 112, 74,
|
|
444
|
+
153, 154, 45, 167, 247, 74, 65, 69, 45, -116,
|
|
445
|
+
75, 140, 65, 69, 45, 49, 75, 79, 65, 69,
|
|
446
|
+
45, 49, 75, -114, 65, 69, 45, 116, 75, 241,
|
|
447
|
+
65, 174, 33, 218, 75, 63, 51, 53, 224, 4,
|
|
448
|
+
18, 63, 51, 53, 111, 223, 110, 36, 51, 53,
|
|
449
|
+
15, 74, 21, 25, 79, 1, 5, 140, 8, 225,
|
|
450
|
+
13, 121, 17, 140, 26, 161, 45, 4, 240, 228,
|
|
451
|
+
65, 69, 45, 160, 75, 230, 65, 137, 45, 18,
|
|
452
|
+
75, 38, 65, 174, 39, 147, 75, 234, 148, 15,
|
|
453
|
+
231, 21, 25, 97, 1, 5, -117, 8, 18, 13,
|
|
454
|
+
80, 17, 236, 26, 45, 121, 4, 238, 15, 98,
|
|
455
|
+
21, 25, 262, 1, 5, 118, 8, 91, 13, 188,
|
|
456
|
+
17, 97, 26, 18, 166, 4, -113, 33, 167, 169,
|
|
457
|
+
144, 253, 45, 15, 4, 21, 25, 98, 1, 5,
|
|
458
|
+
97, 8, 18, 13, -112, 17, -115, 26, 51, 53,
|
|
459
|
+
4, 45, 15, -114, 21, 25, 98, 1, 5, -117,
|
|
460
|
+
8, 243, 13, 140, 17, 87, 26, 150, 258, 4,
|
|
461
|
+
51, 53, 159, 248, 222, 123, 153, 154, 45, 18,
|
|
462
|
+
51, 53, 65, 174, 84, 140, 75, 51, 53, 15,
|
|
463
|
+
143, 21, 25, 121, 1, 5, 81, 8, 187, 13,
|
|
464
|
+
45, 17, 140, 26, 65, 174, 4, 261, 75, 255,
|
|
465
|
+
256, 126, -160, 121, 124, 32, 229, 45, 18, nil,
|
|
466
|
+
nil, 65, 174, nil, nil, 75, 215, nil, 15, nil,
|
|
467
|
+
21, 25, nil, 1, 5, nil, 8, 18, 13, nil,
|
|
468
|
+
17, nil, 26, 51, 53, 4, nil, 15, nil, 21,
|
|
469
|
+
25, nil, 1, 5, nil, 8, nil, 13, 140, 17,
|
|
470
|
+
nil, 26, nil, nil, 4, 51, 53, 51, 53, nil,
|
|
471
|
+
177, nil, nil, 45, nil, nil, nil, 65, 174, nil,
|
|
472
|
+
140, 75, 140, 203, nil, nil, nil, nil, nil, nil,
|
|
473
|
+
nil, nil, nil, nil, 18, 45, nil, 45, nil, 65,
|
|
474
|
+
174, 65, 174, 75, 15, 75, 21, 25, 201, 1,
|
|
475
|
+
5, nil, 8, nil, 13, nil, 17, nil, 26, 18,
|
|
476
|
+
nil, 4, nil, 51, 53, nil, nil, nil, nil, 15,
|
|
477
|
+
nil, 21, 25, nil, 1, 5, nil, 8, 140, 13,
|
|
478
|
+
nil, 17, nil, 26, nil, nil, 4, nil, nil, nil,
|
|
479
|
+
18, nil, nil, 45, nil, nil, nil, 65, 174, nil,
|
|
480
|
+
15, 75, 21, 25, nil, 1, 5, nil, 8, 18,
|
|
481
|
+
13, nil, 17, nil, 26, nil, nil, 4, nil, 15,
|
|
482
|
+
nil, 21, 25, nil, 1, 5, nil, 8, 18, 13,
|
|
483
|
+
nil, 17, nil, 26, nil, nil, 4, nil, 15, nil,
|
|
484
|
+
21, 25, nil, 1, 5, nil, 8, 18, 13, nil,
|
|
485
|
+
17, nil, 26, nil, nil, 4, nil, 15, nil, 21,
|
|
486
|
+
25, nil, 1, 5, nil, 8, nil, 13, nil, 17,
|
|
487
|
+
nil, 26, nil, nil, 4 ]
|
|
321
488
|
|
|
322
489
|
racc_action_check = [
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
490
|
+
13, 13, 13, 9, 13, 116, 116, 46, 46, 110,
|
|
491
|
+
110, 137, 111, 35, 69, 171, 13, 17, 17, 17,
|
|
492
|
+
13, 11, 46, 9, 137, 116, 101, 46, 171, 27,
|
|
493
|
+
9, 13, 111, 17, 69, 116, 13, 46, 35, 110,
|
|
494
|
+
116, 126, 46, 13, 110, 11, 126, 116, 17, 46,
|
|
495
|
+
8, 110, 17, 17, 101, 101, 17, 49, 49, 49,
|
|
496
|
+
25, 194, 125, 63, 63, 63, 63, 25, 18, 15,
|
|
497
|
+
15, 15, 18, 49, 194, 168, 168, 168, 120, 63,
|
|
498
|
+
105, 79, 79, 79, 8, 15, 127, 8, 49, 105,
|
|
499
|
+
233, 168, 49, 49, 63, 233, 49, 79, 63, 63,
|
|
500
|
+
15, 131, 63, 132, 15, 15, 168, 133, 15, 136,
|
|
501
|
+
168, 168, 79, 119, 168, 44, 79, 79, 21, 21,
|
|
502
|
+
79, 188, 188, 188, 138, 152, 44, 230, 230, 230,
|
|
503
|
+
139, 44, 142, 229, 229, 229, 68, 188, 64, 32,
|
|
504
|
+
32, 32, 70, 230, 72, 200, 200, 200, 62, 229,
|
|
505
|
+
152, 152, 188, 220, 220, 32, 188, 188, 230, 61,
|
|
506
|
+
188, 200, 230, 230, 229, 163, 230, 58, 229, 229,
|
|
507
|
+
32, 55, 229, 73, 32, 32, 200, 174, 32, 204,
|
|
508
|
+
200, 200, 5, 176, 200, 218, 218, 218, 183, 5,
|
|
509
|
+
204, 88, 88, 88, 52, 183, 50, 96, 224, 224,
|
|
510
|
+
204, 218, 204, 204, 74, 204, 204, 88, 204, 186,
|
|
511
|
+
204, 187, 204, 224, 204, 109, 218, 204, 202, 190,
|
|
512
|
+
218, 218, 88, 108, 218, 192, 88, 88, 224, 202,
|
|
513
|
+
88, 96, 224, 224, 96, 93, 224, 196, 93, 202,
|
|
514
|
+
193, 202, 202, 155, 202, 202, 77, 202, 196, 202,
|
|
515
|
+
41, 202, 197, 202, 155, 198, 202, 199, 196, 155,
|
|
516
|
+
196, 196, 260, 196, 196, 78, 196, 34, 196, 121,
|
|
517
|
+
196, 97, 196, 260, 115, 196, 208, 91, 115, 115,
|
|
518
|
+
91, 235, 97, 260, 91, 260, 260, 97, 260, 260,
|
|
519
|
+
43, 260, 235, 260, 210, 260, 211, 260, 246, 246,
|
|
520
|
+
260, 43, 235, 212, 235, 235, 43, 235, 235, 213,
|
|
521
|
+
235, 215, 235, 246, 235, 26, 235, 94, 248, 235,
|
|
522
|
+
181, 181, 106, 223, 181, 81, 106, 106, 246, 248,
|
|
523
|
+
124, 124, 246, 246, 22, 181, 246, 177, 177, 248,
|
|
524
|
+
90, 248, 248, 80, 248, 248, 20, 248, 237, 248,
|
|
525
|
+
181, 248, 177, 248, 181, 181, 248, 259, 181, 243,
|
|
526
|
+
245, 86, 247, 84, 83, 1, 191, 177, 259, nil,
|
|
527
|
+
nil, 177, 177, nil, nil, 177, 165, nil, 259, nil,
|
|
528
|
+
259, 259, nil, 259, 259, nil, 259, 165, 259, nil,
|
|
529
|
+
259, nil, 259, 118, 118, 259, nil, 165, nil, 165,
|
|
530
|
+
165, nil, 165, 165, nil, 165, nil, 165, 118, 165,
|
|
531
|
+
nil, 165, nil, nil, 165, 157, 157, 117, 117, nil,
|
|
532
|
+
117, nil, nil, 118, nil, nil, nil, 118, 118, nil,
|
|
533
|
+
157, 118, 117, 150, nil, nil, nil, nil, nil, nil,
|
|
534
|
+
nil, nil, nil, nil, 150, 157, nil, 117, nil, 157,
|
|
535
|
+
157, 117, 117, 157, 150, 117, 150, 150, 143, 150,
|
|
536
|
+
150, nil, 150, nil, 150, nil, 150, nil, 150, 143,
|
|
537
|
+
nil, 150, nil, 158, 158, nil, nil, nil, nil, 143,
|
|
538
|
+
nil, 143, 143, nil, 143, 143, nil, 143, 158, 143,
|
|
539
|
+
nil, 143, nil, 143, nil, nil, 143, nil, nil, nil,
|
|
540
|
+
112, nil, nil, 158, nil, nil, nil, 158, 158, nil,
|
|
541
|
+
112, 158, 112, 112, nil, 112, 112, nil, 112, 255,
|
|
542
|
+
112, nil, 112, nil, 112, nil, nil, 112, nil, 255,
|
|
543
|
+
nil, 255, 255, nil, 255, 255, nil, 255, 24, 255,
|
|
544
|
+
nil, 255, nil, 255, nil, nil, 255, nil, 24, nil,
|
|
545
|
+
24, 24, nil, 24, 24, nil, 24, 0, 24, nil,
|
|
546
|
+
24, nil, 24, nil, nil, 24, nil, 0, nil, 0,
|
|
547
|
+
0, nil, 0, 0, nil, 0, nil, 0, nil, 0,
|
|
548
|
+
nil, 0, nil, nil, 0 ]
|
|
363
549
|
|
|
364
550
|
racc_action_pointer = [
|
|
365
|
-
|
|
366
|
-
nil, nil,
|
|
367
|
-
|
|
368
|
-
nil, nil,
|
|
369
|
-
nil,
|
|
370
|
-
nil,
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
nil, nil,
|
|
380
|
-
|
|
381
|
-
nil,
|
|
382
|
-
|
|
383
|
-
nil
|
|
551
|
+
539, 352, nil, nil, nil, 144, nil, nil, 46, -15,
|
|
552
|
+
nil, 2, nil, -2, nil, 67, nil, 15, 66, nil,
|
|
553
|
+
346, 115, 328, nil, 520, 22, 273, 23, nil, nil,
|
|
554
|
+
nil, nil, 137, nil, 232, 3, nil, nil, nil, nil,
|
|
555
|
+
nil, 244, nil, 268, 93, nil, 4, nil, nil, 55,
|
|
556
|
+
186, nil, 184, nil, nil, 169, nil, nil, 165, nil,
|
|
557
|
+
nil, 138, 142, 61, 117, nil, nil, nil, 115, 12,
|
|
558
|
+
121, nil, 123, 152, 202, nil, nil, 225, 259, 79,
|
|
559
|
+
305, 325, nil, 354, 325, nil, 339, nil, 189, nil,
|
|
560
|
+
334, 239, nil, 197, 311, nil, 193, 249, nil, nil,
|
|
561
|
+
nil, 6, nil, nil, nil, 65, 278, nil, 200, 210,
|
|
562
|
+
6, -6, 482, nil, nil, 269, 2, 414, 390, 108,
|
|
563
|
+
68, 260, nil, nil, 327, 52, 8, 80, nil, nil,
|
|
564
|
+
nil, 91, 86, 86, nil, nil, 88, 2, 103, 109,
|
|
565
|
+
nil, nil, 93, 451, nil, nil, nil, nil, nil, nil,
|
|
566
|
+
426, nil, 102, nil, nil, 221, nil, 412, 470, nil,
|
|
567
|
+
nil, nil, nil, 163, nil, 369, nil, nil, 73, nil,
|
|
568
|
+
nil, 5, nil, nil, 155, nil, 174, 334, nil, nil,
|
|
569
|
+
nil, 317, nil, 178, nil, nil, 202, 173, 119, nil,
|
|
570
|
+
212, 353, 212, 217, 51, nil, 230, 245, 217, 250,
|
|
571
|
+
143, nil, 211, nil, 172, nil, nil, nil, 255, nil,
|
|
572
|
+
273, 275, 282, 288, nil, 282, nil, nil, 183, nil,
|
|
573
|
+
144, nil, nil, 317, 195, nil, nil, nil, nil, 131,
|
|
574
|
+
125, nil, nil, 57, nil, 274, nil, 338, nil, nil,
|
|
575
|
+
nil, nil, nil, 353, nil, 353, 295, 355, 311, nil,
|
|
576
|
+
nil, nil, nil, nil, nil, 501, nil, nil, nil, 350,
|
|
577
|
+
255, nil, nil ]
|
|
384
578
|
|
|
385
579
|
racc_action_default = [
|
|
386
|
-
|
|
387
|
-
-
|
|
388
|
-
|
|
389
|
-
-
|
|
390
|
-
-
|
|
391
|
-
-
|
|
392
|
-
|
|
393
|
-
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
-
|
|
399
|
-
-
|
|
400
|
-
-
|
|
401
|
-
|
|
402
|
-
-
|
|
403
|
-
|
|
404
|
-
-
|
|
580
|
+
-135, -161, -16, -5, -129, -161, -6, -7, -161, -161,
|
|
581
|
+
-8, -161, -9, -39, -10, -161, -11, -161, -38, -12,
|
|
582
|
+
-161, -161, -161, -13, -1, -161, -35, -161, -14, -2,
|
|
583
|
+
-15, -3, -161, -128, -135, -135, -133, -130, -132, -134,
|
|
584
|
+
-34, -161, -37, -135, -135, -154, -161, -27, -19, -161,
|
|
585
|
+
-20, -90, -21, -91, -22, -58, -24, -25, -161, -26,
|
|
586
|
+
-28, -87, -161, -161, -81, -92, -83, -85, -80, -58,
|
|
587
|
+
-161, -98, -84, -79, -59, -118, -86, -82, -161, -161,
|
|
588
|
+
-67, -161, -119, -121, -67, -4, -135, -36, -67, -66,
|
|
589
|
+
-161, -161, -148, -161, -161, -146, -161, -135, -58, -52,
|
|
590
|
+
-51, -161, -43, -45, -42, -161, -161, -18, -161, -161,
|
|
591
|
+
-161, -161, -161, -156, -71, -161, -161, -161, -161, -161,
|
|
592
|
+
-159, -161, -68, 263, -161, -159, -136, -161, -137, -116,
|
|
593
|
+
-54, -159, -161, -62, -63, -65, -61, -58, -64, -60,
|
|
594
|
+
-59, -117, -56, -161, -153, -152, -149, -150, -151, -147,
|
|
595
|
+
-161, -131, -161, -48, -47, -161, -41, -161, -161, -40,
|
|
596
|
+
-17, -93, -23, -161, -29, -161, -155, -157, -161, -158,
|
|
597
|
+
-89, -161, -113, -112, -58, -115, -161, -161, -114, -106,
|
|
598
|
+
-107, -161, -100, -161, -104, -94, -161, -160, -161, -120,
|
|
599
|
+
-161, -145, -143, -161, -161, -140, -161, -161, -67, -161,
|
|
600
|
+
-57, -125, -161, -127, -161, -46, -44, -49, -75, -77,
|
|
601
|
+
-74, -78, -73, -76, -50, -96, -72, -88, -161, -109,
|
|
602
|
+
-159, -101, -99, -161, -161, -32, -69, -70, -33, -161,
|
|
603
|
+
-161, -138, -139, -161, -123, -161, -31, -159, -30, -55,
|
|
604
|
+
-124, -126, -95, -161, -111, -161, -161, -158, -161, -105,
|
|
605
|
+
-144, -142, -141, -122, -53, -161, -108, -110, -103, -161,
|
|
606
|
+
-161, -102, -97 ]
|
|
405
607
|
|
|
406
608
|
racc_goto_table = [
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
nil,
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
nil, nil,
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
nil, nil, nil, nil, nil,
|
|
431
|
-
nil, nil, nil, nil,
|
|
432
|
-
nil,
|
|
433
|
-
|
|
609
|
+
24, 85, 59, 60, 37, 76, 180, 76, 135, 120,
|
|
610
|
+
82, 182, 57, 125, 71, 20, 78, 131, 195, 176,
|
|
611
|
+
184, 115, 76, 186, 130, 129, 48, 56, 190, 207,
|
|
612
|
+
214, 89, 226, 168, 197, 59, 60, 101, 106, 76,
|
|
613
|
+
206, 42, 100, 100, 62, 57, 242, 181, 109, 199,
|
|
614
|
+
142, 179, 141, 76, 129, 129, 162, 99, 99, 108,
|
|
615
|
+
56, 220, 114, 29, 83, 34, 219, 127, 90, 76,
|
|
616
|
+
35, 94, 171, 193, 221, 194, 40, 139, 119, 176,
|
|
617
|
+
149, 141, 141, 184, 146, 86, nil, 138, nil, nil,
|
|
618
|
+
134, 152, 151, nil, 129, 129, 100, 92, 95, 59,
|
|
619
|
+
nil, 164, 136, nil, 133, 59, 178, 178, nil, 57,
|
|
620
|
+
nil, 99, 165, 189, 129, 57, 175, 175, 129, nil,
|
|
621
|
+
135, 213, 213, 245, 56, 252, 249, 237, nil, nil,
|
|
622
|
+
56, 173, 173, 172, 172, 257, 239, 129, 246, nil,
|
|
623
|
+
254, 141, 85, 202, nil, 141, 212, 212, 176, 128,
|
|
624
|
+
204, 145, nil, nil, 100, nil, 211, 211, 76, 209,
|
|
625
|
+
209, 129, nil, nil, 141, nil, 178, 216, nil, 99,
|
|
626
|
+
178, 210, 210, 208, 208, nil, 175, nil, 76, 85,
|
|
627
|
+
175, 85, nil, 129, nil, nil, nil, 227, 141, 139,
|
|
628
|
+
nil, 173, nil, 172, nil, 173, 235, 172, nil, 138,
|
|
629
|
+
nil, nil, 134, nil, nil, nil, nil, nil, 76, nil,
|
|
630
|
+
141, nil, 85, 178, 136, nil, 133, 244, nil, 76,
|
|
631
|
+
76, nil, nil, 175, nil, nil, nil, nil, 250, 251,
|
|
632
|
+
nil, nil, nil, nil, nil, 178, 85, 85, 173, nil,
|
|
633
|
+
172, nil, nil, nil, nil, 175, nil, nil, 259, nil,
|
|
634
|
+
nil, nil, nil, nil, nil, 260, nil, nil, nil, nil,
|
|
635
|
+
173, nil, 172 ]
|
|
434
636
|
|
|
435
637
|
racc_goto_check = [
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
nil,
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
nil,
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
nil, nil, nil,
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
nil, nil, nil, nil, nil,
|
|
460
|
-
nil, nil, nil, nil,
|
|
461
|
-
nil,
|
|
462
|
-
|
|
638
|
+
2, 4, 23, 24, 64, 24, 57, 24, 43, 28,
|
|
639
|
+
23, 53, 22, 28, 44, 1, 44, 28, 67, 55,
|
|
640
|
+
55, 46, 24, 29, 39, 49, 17, 21, 29, 38,
|
|
641
|
+
38, 44, 45, 47, 29, 23, 24, 33, 33, 24,
|
|
642
|
+
34, 32, 22, 22, 50, 22, 51, 52, 44, 27,
|
|
643
|
+
26, 56, 48, 24, 49, 49, 20, 21, 21, 17,
|
|
644
|
+
21, 58, 44, 3, 59, 25, 57, 60, 61, 24,
|
|
645
|
+
62, 63, 18, 65, 53, 66, 5, 23, 44, 55,
|
|
646
|
+
68, 48, 48, 55, 69, 25, nil, 22, nil, nil,
|
|
647
|
+
42, 33, 64, nil, 49, 49, 22, 3, 3, 23,
|
|
648
|
+
nil, 24, 21, nil, 41, 23, 23, 23, nil, 22,
|
|
649
|
+
nil, 21, 2, 23, 49, 22, 22, 22, 49, nil,
|
|
650
|
+
43, 48, 48, 29, 21, 67, 55, 28, nil, nil,
|
|
651
|
+
21, 21, 21, 41, 41, 57, 39, 49, 47, nil,
|
|
652
|
+
29, 48, 4, 2, nil, 48, 23, 23, 55, 3,
|
|
653
|
+
2, 25, nil, nil, 22, nil, 22, 22, 24, 42,
|
|
654
|
+
42, 49, nil, nil, 48, nil, 23, 44, nil, 21,
|
|
655
|
+
23, 21, 21, 41, 41, nil, 22, nil, 24, 4,
|
|
656
|
+
22, 4, nil, 49, nil, nil, nil, 44, 48, 23,
|
|
657
|
+
nil, 21, nil, 41, nil, 21, 2, 41, nil, 22,
|
|
658
|
+
nil, nil, 42, nil, nil, nil, nil, nil, 24, nil,
|
|
659
|
+
48, nil, 4, 23, 21, nil, 41, 44, nil, 24,
|
|
660
|
+
24, nil, nil, 22, nil, nil, nil, nil, 44, 44,
|
|
661
|
+
nil, nil, nil, nil, nil, 23, 4, 4, 21, nil,
|
|
662
|
+
41, nil, nil, nil, nil, 22, nil, nil, 2, nil,
|
|
663
|
+
nil, nil, nil, nil, nil, 2, nil, nil, nil, nil,
|
|
664
|
+
21, nil, 41 ]
|
|
463
665
|
|
|
464
666
|
racc_goto_pointer = [
|
|
465
|
-
nil,
|
|
466
|
-
nil, nil, nil, nil, nil,
|
|
467
|
-
-
|
|
468
|
-
|
|
469
|
-
|
|
667
|
+
nil, 15, 0, 63, -23, 67, nil, nil, nil, nil,
|
|
668
|
+
nil, nil, nil, nil, nil, nil, nil, 13, -44, nil,
|
|
669
|
+
-54, 14, -1, -11, -10, 60, -38, -93, -71, -97,
|
|
670
|
+
nil, nil, 30, -6, -115, nil, nil, nil, -128, -64,
|
|
671
|
+
nil, 16, 2, -80, -1, -155, -42, -82, -36, -63,
|
|
672
|
+
29, -169, -71, -107, nil, -98, -66, -111, -116, 43,
|
|
673
|
+
-19, 34, 62, 36, -4, -53, -51, -108, -13, -7 ]
|
|
470
674
|
|
|
471
675
|
racc_goto_default = [
|
|
472
|
-
nil, nil, nil,
|
|
473
|
-
23,
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
676
|
+
nil, nil, nil, 104, 31, 3, 6, 7, 10, 12,
|
|
677
|
+
14, 16, 19, 23, 28, 30, 2, nil, 50, 52,
|
|
678
|
+
54, 68, 72, 73, 22, 27, nil, nil, nil, nil,
|
|
679
|
+
9, 11, nil, nil, 102, 155, 103, 105, nil, nil,
|
|
680
|
+
132, 64, 66, 67, nil, 122, nil, nil, 77, 61,
|
|
681
|
+
nil, nil, nil, nil, 183, 70, nil, nil, nil, nil,
|
|
682
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil ]
|
|
477
683
|
|
|
478
684
|
racc_token_table = {
|
|
479
685
|
false => 0,
|
|
@@ -495,34 +701,41 @@ racc_token_table = {
|
|
|
495
701
|
:DOT => 16,
|
|
496
702
|
:COLON => 17,
|
|
497
703
|
:TYPE => 18,
|
|
498
|
-
:
|
|
499
|
-
:
|
|
500
|
-
:
|
|
501
|
-
:
|
|
502
|
-
:
|
|
503
|
-
:
|
|
504
|
-
:
|
|
505
|
-
:
|
|
506
|
-
:
|
|
507
|
-
:
|
|
508
|
-
:
|
|
509
|
-
:
|
|
510
|
-
:
|
|
511
|
-
:
|
|
512
|
-
:
|
|
513
|
-
:
|
|
514
|
-
:
|
|
515
|
-
:
|
|
516
|
-
:
|
|
517
|
-
:
|
|
518
|
-
:
|
|
519
|
-
:
|
|
520
|
-
:
|
|
521
|
-
:
|
|
704
|
+
:LLCOLLECT => 19,
|
|
705
|
+
:RRCOLLECT => 20,
|
|
706
|
+
:QMARK => 21,
|
|
707
|
+
:LPAREN => 22,
|
|
708
|
+
:RPAREN => 23,
|
|
709
|
+
:ISEQUAL => 24,
|
|
710
|
+
:GREATEREQUAL => 25,
|
|
711
|
+
:GREATERTHAN => 26,
|
|
712
|
+
:LESSTHAN => 27,
|
|
713
|
+
:IF => 28,
|
|
714
|
+
:ELSE => 29,
|
|
715
|
+
:IMPORT => 30,
|
|
716
|
+
:DEFINE => 31,
|
|
717
|
+
:ELSIF => 32,
|
|
718
|
+
:VARIABLE => 33,
|
|
719
|
+
:CLASS => 34,
|
|
720
|
+
:INHERITS => 35,
|
|
721
|
+
:NODE => 36,
|
|
722
|
+
:BOOLEAN => 37,
|
|
723
|
+
:NAME => 38,
|
|
724
|
+
:SEMIC => 39,
|
|
725
|
+
:CASE => 40,
|
|
726
|
+
:DEFAULT => 41,
|
|
727
|
+
:AT => 42,
|
|
728
|
+
:LCOLLECT => 43,
|
|
729
|
+
:RCOLLECT => 44,
|
|
730
|
+
:CLASSNAME => 45,
|
|
731
|
+
:CLASSREF => 46,
|
|
732
|
+
:NOT => 47,
|
|
733
|
+
:OR => 48,
|
|
734
|
+
:AND => 49 }
|
|
522
735
|
|
|
523
736
|
racc_use_result_var = true
|
|
524
737
|
|
|
525
|
-
racc_nt_base =
|
|
738
|
+
racc_nt_base = 50
|
|
526
739
|
|
|
527
740
|
Racc_arg = [
|
|
528
741
|
racc_action_table,
|
|
@@ -560,6 +773,8 @@ Racc_token_to_s_table = [
|
|
|
560
773
|
'DOT',
|
|
561
774
|
'COLON',
|
|
562
775
|
'TYPE',
|
|
776
|
+
'LLCOLLECT',
|
|
777
|
+
'RRCOLLECT',
|
|
563
778
|
'QMARK',
|
|
564
779
|
'LPAREN',
|
|
565
780
|
'RPAREN',
|
|
@@ -584,33 +799,53 @@ Racc_token_to_s_table = [
|
|
|
584
799
|
'AT',
|
|
585
800
|
'LCOLLECT',
|
|
586
801
|
'RCOLLECT',
|
|
802
|
+
'CLASSNAME',
|
|
803
|
+
'CLASSREF',
|
|
804
|
+
'NOT',
|
|
805
|
+
'OR',
|
|
806
|
+
'AND',
|
|
587
807
|
'$start',
|
|
588
808
|
'program',
|
|
589
809
|
'statements',
|
|
590
|
-
'
|
|
810
|
+
'nil',
|
|
591
811
|
'statement',
|
|
592
|
-
'
|
|
593
|
-
'
|
|
812
|
+
'resource',
|
|
813
|
+
'virtualresource',
|
|
594
814
|
'collection',
|
|
595
815
|
'assignment',
|
|
596
816
|
'casestatement',
|
|
817
|
+
'ifstatement',
|
|
597
818
|
'import',
|
|
598
819
|
'fstatement',
|
|
599
820
|
'definition',
|
|
600
821
|
'hostclass',
|
|
601
822
|
'nodedef',
|
|
602
|
-
'
|
|
603
|
-
'
|
|
823
|
+
'resourceoverride',
|
|
824
|
+
'funcvalues',
|
|
825
|
+
'namestrings',
|
|
826
|
+
'resourcerefs',
|
|
827
|
+
'namestring',
|
|
604
828
|
'name',
|
|
605
829
|
'variable',
|
|
606
830
|
'quotedtext',
|
|
607
|
-
'
|
|
831
|
+
'resourceref',
|
|
832
|
+
'fqname',
|
|
833
|
+
'resourceinstances',
|
|
608
834
|
'endsemi',
|
|
609
835
|
'params',
|
|
610
836
|
'endcomma',
|
|
837
|
+
'at',
|
|
838
|
+
'collectname',
|
|
839
|
+
'collectrhand',
|
|
840
|
+
'collstatements',
|
|
841
|
+
'collstatement',
|
|
842
|
+
'colljoin',
|
|
843
|
+
'collexpr',
|
|
844
|
+
'colllval',
|
|
845
|
+
'simplervalue',
|
|
846
|
+
'resourceinst',
|
|
847
|
+
'resourcename',
|
|
611
848
|
'type',
|
|
612
|
-
'objectinst',
|
|
613
|
-
'objectname',
|
|
614
849
|
'selector',
|
|
615
850
|
'array',
|
|
616
851
|
'rvalue',
|
|
@@ -618,8 +853,9 @@ Racc_token_to_s_table = [
|
|
|
618
853
|
'rvalues',
|
|
619
854
|
'comma',
|
|
620
855
|
'boolean',
|
|
621
|
-
'objectref',
|
|
622
856
|
'funcrvalue',
|
|
857
|
+
'iftest',
|
|
858
|
+
'else',
|
|
623
859
|
'caseopts',
|
|
624
860
|
'caseopt',
|
|
625
861
|
'casevalues',
|
|
@@ -627,12 +863,17 @@ Racc_token_to_s_table = [
|
|
|
627
863
|
'svalues',
|
|
628
864
|
'selectval',
|
|
629
865
|
'sintvalues',
|
|
866
|
+
'qtexts',
|
|
630
867
|
'argumentlist',
|
|
631
|
-
'
|
|
868
|
+
'classparent',
|
|
632
869
|
'hostnames',
|
|
870
|
+
'nodeparent',
|
|
633
871
|
'hostname',
|
|
872
|
+
'nothing',
|
|
634
873
|
'arguments',
|
|
635
|
-
'argument'
|
|
874
|
+
'argument',
|
|
875
|
+
'nameordefault',
|
|
876
|
+
'fqnameordefault']
|
|
636
877
|
|
|
637
878
|
Racc_debug_parser = false
|
|
638
879
|
|
|
@@ -640,15 +881,21 @@ Racc_debug_parser = false
|
|
|
640
881
|
|
|
641
882
|
# reduce 0 omitted
|
|
642
883
|
|
|
643
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
884
|
+
module_eval <<'.,.,', 'grammar.ra', 33
|
|
644
885
|
def _reduce_1( val, _values, result )
|
|
645
|
-
if val[0]
|
|
646
|
-
|
|
886
|
+
if val[0]
|
|
887
|
+
# Make sure we always return an array.
|
|
888
|
+
if val[0].is_a?(AST::ASTArray)
|
|
889
|
+
if val[0].children.empty?
|
|
890
|
+
result = nil
|
|
891
|
+
else
|
|
892
|
+
result = val[0]
|
|
893
|
+
end
|
|
894
|
+
else
|
|
895
|
+
result = aryfy(val[0])
|
|
896
|
+
end
|
|
647
897
|
else
|
|
648
|
-
result =
|
|
649
|
-
:line => @lexer.line,
|
|
650
|
-
:children => [val[0]]
|
|
651
|
-
)
|
|
898
|
+
result = nil
|
|
652
899
|
end
|
|
653
900
|
result
|
|
654
901
|
end
|
|
@@ -658,17 +905,18 @@ module_eval <<'.,.,', 'grammar.ra', 26
|
|
|
658
905
|
|
|
659
906
|
# reduce 3 omitted
|
|
660
907
|
|
|
661
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
908
|
+
module_eval <<'.,.,', 'grammar.ra', 49
|
|
662
909
|
def _reduce_4( val, _values, result )
|
|
663
|
-
if val[0]
|
|
664
|
-
val[0].
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
:
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
910
|
+
if val[0] and val[1]
|
|
911
|
+
if val[0].instance_of?(AST::ASTArray)
|
|
912
|
+
val[0].push(val[1])
|
|
913
|
+
result = val[0]
|
|
914
|
+
else
|
|
915
|
+
result = ast AST::ASTArray, :children => [val[0],val[1]]
|
|
916
|
+
end
|
|
917
|
+
elsif obj = (val[0] || val[1])
|
|
918
|
+
result = obj
|
|
919
|
+
else result = nil
|
|
672
920
|
end
|
|
673
921
|
result
|
|
674
922
|
end
|
|
@@ -694,38 +942,50 @@ module_eval <<'.,.,', 'grammar.ra', 41
|
|
|
694
942
|
|
|
695
943
|
# reduce 14 omitted
|
|
696
944
|
|
|
697
|
-
|
|
698
|
-
|
|
945
|
+
# reduce 15 omitted
|
|
946
|
+
|
|
947
|
+
# reduce 16 omitted
|
|
948
|
+
|
|
949
|
+
module_eval <<'.,.,', 'grammar.ra', 71
|
|
950
|
+
def _reduce_17( val, _values, result )
|
|
699
951
|
args = aryfy(val[2])
|
|
700
|
-
result = AST::Function
|
|
701
|
-
:line => @lexer.line,
|
|
702
|
-
:file => @lexer.file,
|
|
952
|
+
result = ast AST::Function,
|
|
703
953
|
:name => val[0],
|
|
704
954
|
:arguments => args,
|
|
705
955
|
:ftype => :statement
|
|
706
|
-
)
|
|
707
956
|
result
|
|
708
957
|
end
|
|
709
958
|
.,.,
|
|
710
959
|
|
|
711
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
712
|
-
def
|
|
960
|
+
module_eval <<'.,.,', 'grammar.ra', 77
|
|
961
|
+
def _reduce_18( val, _values, result )
|
|
962
|
+
result = ast AST::Function,
|
|
963
|
+
:name => val[0],
|
|
964
|
+
:arguments => AST::ASTArray.new({}),
|
|
965
|
+
:ftype => :statement
|
|
966
|
+
result
|
|
967
|
+
end
|
|
968
|
+
.,.,
|
|
969
|
+
|
|
970
|
+
module_eval <<'.,.,', 'grammar.ra', 84
|
|
971
|
+
def _reduce_19( val, _values, result )
|
|
713
972
|
args = aryfy(val[1])
|
|
714
|
-
result = AST::Function
|
|
715
|
-
:line => @lexer.line,
|
|
716
|
-
:file => @lexer.file,
|
|
973
|
+
result = ast AST::Function,
|
|
717
974
|
:name => val[0],
|
|
718
975
|
:arguments => args,
|
|
719
976
|
:ftype => :statement
|
|
720
|
-
)
|
|
721
977
|
result
|
|
722
978
|
end
|
|
723
979
|
.,.,
|
|
724
980
|
|
|
725
|
-
# reduce
|
|
981
|
+
# reduce 20 omitted
|
|
726
982
|
|
|
727
|
-
|
|
728
|
-
|
|
983
|
+
# reduce 21 omitted
|
|
984
|
+
|
|
985
|
+
# reduce 22 omitted
|
|
986
|
+
|
|
987
|
+
module_eval <<'.,.,', 'grammar.ra', 94
|
|
988
|
+
def _reduce_23( val, _values, result )
|
|
729
989
|
result = aryfy(val[0], val[2])
|
|
730
990
|
result.line = @lexer.line
|
|
731
991
|
result.file = @lexer.file
|
|
@@ -733,98 +993,102 @@ module_eval <<'.,.,', 'grammar.ra', 93
|
|
|
733
993
|
end
|
|
734
994
|
.,.,
|
|
735
995
|
|
|
736
|
-
# reduce
|
|
996
|
+
# reduce 24 omitted
|
|
737
997
|
|
|
738
|
-
# reduce
|
|
998
|
+
# reduce 25 omitted
|
|
739
999
|
|
|
740
|
-
# reduce
|
|
1000
|
+
# reduce 26 omitted
|
|
741
1001
|
|
|
742
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
743
|
-
def
|
|
744
|
-
|
|
745
|
-
|
|
1002
|
+
module_eval <<'.,.,', 'grammar.ra', 101
|
|
1003
|
+
def _reduce_27( val, _values, result )
|
|
1004
|
+
result = ast AST::Name, :value => val[0]
|
|
1005
|
+
result
|
|
1006
|
+
end
|
|
1007
|
+
.,.,
|
|
1008
|
+
|
|
1009
|
+
# reduce 28 omitted
|
|
1010
|
+
|
|
1011
|
+
module_eval <<'.,.,', 'grammar.ra', 112
|
|
1012
|
+
def _reduce_29( val, _values, result )
|
|
1013
|
+
unless val[0].is_a?(AST::ASTArray)
|
|
1014
|
+
val[0] = aryfy(val[0])
|
|
746
1015
|
end
|
|
1016
|
+
|
|
1017
|
+
val[0].push(val[2])
|
|
1018
|
+
|
|
1019
|
+
result = val[0]
|
|
1020
|
+
result
|
|
1021
|
+
end
|
|
1022
|
+
.,.,
|
|
1023
|
+
|
|
1024
|
+
module_eval <<'.,.,', 'grammar.ra', 133
|
|
1025
|
+
def _reduce_30( val, _values, result )
|
|
747
1026
|
array = val[2]
|
|
748
|
-
if array.instance_of?(AST::
|
|
1027
|
+
if array.instance_of?(AST::ResourceInst)
|
|
749
1028
|
array = [array]
|
|
750
1029
|
end
|
|
751
|
-
result = AST::ASTArray
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
)
|
|
755
|
-
# this iterates across each specified objectinstance
|
|
1030
|
+
result = ast AST::ASTArray
|
|
1031
|
+
|
|
1032
|
+
# this iterates across each specified resourceinstance
|
|
756
1033
|
array.each { |instance|
|
|
757
|
-
unless instance.instance_of?(AST::
|
|
1034
|
+
unless instance.instance_of?(AST::ResourceInst)
|
|
758
1035
|
raise Puppet::Dev, "Got something that isn't an instance"
|
|
759
1036
|
end
|
|
760
1037
|
# now, i need to somehow differentiate between those things with
|
|
761
1038
|
# arrays in their names, and normal things
|
|
762
|
-
result.push AST::
|
|
763
|
-
:pin => "{}",
|
|
764
|
-
:line => @lexer.line,
|
|
765
|
-
:file => @lexer.file,
|
|
1039
|
+
result.push ast(AST::ResourceDef,
|
|
766
1040
|
:type => val[0],
|
|
767
|
-
:
|
|
768
|
-
:params => instance[1]
|
|
769
|
-
)
|
|
1041
|
+
:title => instance[0],
|
|
1042
|
+
:params => instance[1])
|
|
770
1043
|
}
|
|
771
1044
|
result
|
|
772
1045
|
end
|
|
773
1046
|
.,.,
|
|
774
1047
|
|
|
775
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
776
|
-
def
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
raise Puppet::ParseError, "Invalid name"
|
|
780
|
-
end
|
|
781
|
-
# an object but without a name
|
|
782
|
-
# this cannot be an instance of a library type
|
|
783
|
-
result = AST::ObjectDef.new(
|
|
784
|
-
:pin => "{}",
|
|
785
|
-
:line => @lexer.line,
|
|
786
|
-
:file => @lexer.file,
|
|
787
|
-
:type => val[0],
|
|
788
|
-
:params => val[2]
|
|
789
|
-
)
|
|
1048
|
+
module_eval <<'.,.,', 'grammar.ra', 136
|
|
1049
|
+
def _reduce_31( val, _values, result )
|
|
1050
|
+
# This is a deprecated syntax.
|
|
1051
|
+
error "All resource specifications require names"
|
|
790
1052
|
result
|
|
791
1053
|
end
|
|
792
1054
|
.,.,
|
|
793
1055
|
|
|
794
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
795
|
-
def
|
|
796
|
-
# a
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
:params => val[2]
|
|
806
|
-
)
|
|
1056
|
+
module_eval <<'.,.,', 'grammar.ra', 139
|
|
1057
|
+
def _reduce_32( val, _values, result )
|
|
1058
|
+
# a defaults setting for a type
|
|
1059
|
+
result = ast(AST::ResourceDefaults, :type => val[0], :params => val[2])
|
|
1060
|
+
result
|
|
1061
|
+
end
|
|
1062
|
+
.,.,
|
|
1063
|
+
|
|
1064
|
+
module_eval <<'.,.,', 'grammar.ra', 144
|
|
1065
|
+
def _reduce_33( val, _values, result )
|
|
1066
|
+
result = ast AST::ResourceOverride, :object => val[0], :params => val[2]
|
|
807
1067
|
result
|
|
808
1068
|
end
|
|
809
1069
|
.,.,
|
|
810
1070
|
|
|
811
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
812
|
-
def
|
|
813
|
-
|
|
814
|
-
|
|
1071
|
+
module_eval <<'.,.,', 'grammar.ra', 171
|
|
1072
|
+
def _reduce_34( val, _values, result )
|
|
1073
|
+
type = val[0]
|
|
1074
|
+
|
|
1075
|
+
if type == :exported and ! Puppet[:storeconfigs]
|
|
1076
|
+
error "You cannot collect without storeconfigs being set"
|
|
815
1077
|
end
|
|
816
1078
|
|
|
817
|
-
if val[1].is_a? AST::
|
|
818
|
-
|
|
1079
|
+
if val[1].is_a? AST::ResourceDefaults
|
|
1080
|
+
error "Defaults are not virtualizable"
|
|
819
1081
|
end
|
|
820
1082
|
|
|
821
|
-
|
|
1083
|
+
method = type.to_s + "="
|
|
1084
|
+
|
|
1085
|
+
# Just mark our resources as exported and pass them through.
|
|
822
1086
|
if val[1].instance_of?(AST::ASTArray)
|
|
823
1087
|
val[1].each do |obj|
|
|
824
|
-
obj.
|
|
1088
|
+
obj.send(method, true)
|
|
825
1089
|
end
|
|
826
1090
|
else
|
|
827
|
-
val[1].
|
|
1091
|
+
val[1].send(method, true)
|
|
828
1092
|
end
|
|
829
1093
|
|
|
830
1094
|
result = val[1]
|
|
@@ -832,41 +1096,131 @@ module_eval <<'.,.,', 'grammar.ra', 177
|
|
|
832
1096
|
end
|
|
833
1097
|
.,.,
|
|
834
1098
|
|
|
835
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
836
|
-
def
|
|
837
|
-
|
|
838
|
-
|
|
1099
|
+
module_eval <<'.,.,', 'grammar.ra', 172
|
|
1100
|
+
def _reduce_35( val, _values, result )
|
|
1101
|
+
result = :virtual
|
|
1102
|
+
result
|
|
1103
|
+
end
|
|
1104
|
+
.,.,
|
|
1105
|
+
|
|
1106
|
+
module_eval <<'.,.,', 'grammar.ra', 173
|
|
1107
|
+
def _reduce_36( val, _values, result )
|
|
1108
|
+
result = :exported
|
|
1109
|
+
result
|
|
1110
|
+
end
|
|
1111
|
+
.,.,
|
|
1112
|
+
|
|
1113
|
+
module_eval <<'.,.,', 'grammar.ra', 196
|
|
1114
|
+
def _reduce_37( val, _values, result )
|
|
1115
|
+
if val[0] =~ /^[a-z]/
|
|
1116
|
+
Puppet.warning addcontext("Collection names must now be capitalized")
|
|
839
1117
|
end
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
1118
|
+
type = val[0].downcase
|
|
1119
|
+
args = {:type => type}
|
|
1120
|
+
|
|
1121
|
+
if val[1].is_a?(AST::CollExpr)
|
|
1122
|
+
args[:query] = val[1]
|
|
1123
|
+
args[:query].type = type
|
|
1124
|
+
args[:form] = args[:query].form
|
|
1125
|
+
else
|
|
1126
|
+
args[:form] = val[1]
|
|
1127
|
+
end
|
|
1128
|
+
if args[:form] == :exported and ! Puppet[:storeconfigs]
|
|
1129
|
+
error "You cannot collect exported resources without storeconfigs being set"
|
|
1130
|
+
end
|
|
1131
|
+
result = ast AST::Collection, args
|
|
845
1132
|
result
|
|
846
1133
|
end
|
|
847
1134
|
.,.,
|
|
848
1135
|
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
1136
|
+
# reduce 38 omitted
|
|
1137
|
+
|
|
1138
|
+
# reduce 39 omitted
|
|
1139
|
+
|
|
1140
|
+
module_eval <<'.,.,', 'grammar.ra', 207
|
|
1141
|
+
def _reduce_40( val, _values, result )
|
|
1142
|
+
if val[1]
|
|
1143
|
+
result = val[1]
|
|
1144
|
+
result.form = :virtual
|
|
1145
|
+
else
|
|
1146
|
+
result = :virtual
|
|
1147
|
+
end
|
|
856
1148
|
result
|
|
857
1149
|
end
|
|
858
1150
|
.,.,
|
|
859
1151
|
|
|
860
|
-
|
|
1152
|
+
module_eval <<'.,.,', 'grammar.ra', 215
|
|
1153
|
+
def _reduce_41( val, _values, result )
|
|
1154
|
+
if val[1]
|
|
1155
|
+
result = val[1]
|
|
1156
|
+
result.form = :exported
|
|
1157
|
+
else
|
|
1158
|
+
result = :exported
|
|
1159
|
+
end
|
|
1160
|
+
result
|
|
1161
|
+
end
|
|
1162
|
+
.,.,
|
|
861
1163
|
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
1164
|
+
# reduce 42 omitted
|
|
1165
|
+
|
|
1166
|
+
# reduce 43 omitted
|
|
1167
|
+
|
|
1168
|
+
module_eval <<'.,.,', 'grammar.ra', 223
|
|
1169
|
+
def _reduce_44( val, _values, result )
|
|
1170
|
+
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
|
|
1171
|
+
result
|
|
1172
|
+
end
|
|
1173
|
+
.,.,
|
|
1174
|
+
|
|
1175
|
+
# reduce 45 omitted
|
|
1176
|
+
|
|
1177
|
+
module_eval <<'.,.,', 'grammar.ra', 229
|
|
1178
|
+
def _reduce_46( val, _values, result )
|
|
1179
|
+
result = val[1]
|
|
1180
|
+
result.parens = true
|
|
1181
|
+
result
|
|
1182
|
+
end
|
|
1183
|
+
.,.,
|
|
1184
|
+
|
|
1185
|
+
# reduce 47 omitted
|
|
1186
|
+
|
|
1187
|
+
# reduce 48 omitted
|
|
1188
|
+
|
|
1189
|
+
module_eval <<'.,.,', 'grammar.ra', 237
|
|
1190
|
+
def _reduce_49( val, _values, result )
|
|
1191
|
+
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
|
|
1192
|
+
#result = ast AST::CollExpr
|
|
1193
|
+
#result.push *val
|
|
1194
|
+
result
|
|
1195
|
+
end
|
|
1196
|
+
.,.,
|
|
1197
|
+
|
|
1198
|
+
module_eval <<'.,.,', 'grammar.ra', 242
|
|
1199
|
+
def _reduce_50( val, _values, result )
|
|
1200
|
+
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
|
|
1201
|
+
#result = ast AST::CollExpr
|
|
1202
|
+
#result.push *val
|
|
1203
|
+
result
|
|
1204
|
+
end
|
|
1205
|
+
.,.,
|
|
1206
|
+
|
|
1207
|
+
# reduce 51 omitted
|
|
1208
|
+
|
|
1209
|
+
# reduce 52 omitted
|
|
1210
|
+
|
|
1211
|
+
module_eval <<'.,.,', 'grammar.ra', 249
|
|
1212
|
+
def _reduce_53( val, _values, result )
|
|
1213
|
+
result = ast AST::ResourceInst, :children => [val[0],val[2]]
|
|
1214
|
+
result
|
|
1215
|
+
end
|
|
1216
|
+
.,.,
|
|
1217
|
+
|
|
1218
|
+
# reduce 54 omitted
|
|
1219
|
+
|
|
1220
|
+
module_eval <<'.,.,', 'grammar.ra', 259
|
|
1221
|
+
def _reduce_55( val, _values, result )
|
|
1222
|
+
if val[0].instance_of?(AST::ResourceInst)
|
|
1223
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
|
870
1224
|
else
|
|
871
1225
|
val[0].push val[2]
|
|
872
1226
|
result = val[0]
|
|
@@ -875,744 +1229,553 @@ module_eval <<'.,.,', 'grammar.ra', 212
|
|
|
875
1229
|
end
|
|
876
1230
|
.,.,
|
|
877
1231
|
|
|
878
|
-
# reduce
|
|
1232
|
+
# reduce 56 omitted
|
|
879
1233
|
|
|
880
|
-
# reduce
|
|
1234
|
+
# reduce 57 omitted
|
|
881
1235
|
|
|
882
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
883
|
-
def
|
|
884
|
-
result = AST::Name
|
|
885
|
-
:line => @lexer.line,
|
|
886
|
-
:file => @lexer.file,
|
|
887
|
-
:value => val[0]
|
|
888
|
-
)
|
|
1236
|
+
module_eval <<'.,.,', 'grammar.ra', 266
|
|
1237
|
+
def _reduce_58( val, _values, result )
|
|
1238
|
+
result = ast AST::Name, :value => val[0]
|
|
889
1239
|
result
|
|
890
1240
|
end
|
|
891
1241
|
.,.,
|
|
892
1242
|
|
|
893
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
894
|
-
def
|
|
895
|
-
result = AST::Type
|
|
896
|
-
:line => @lexer.line,
|
|
897
|
-
:file => @lexer.file,
|
|
898
|
-
:value => val[0]
|
|
899
|
-
)
|
|
1243
|
+
module_eval <<'.,.,', 'grammar.ra', 270
|
|
1244
|
+
def _reduce_59( val, _values, result )
|
|
1245
|
+
result = ast AST::Type, :value => val[0]
|
|
900
1246
|
result
|
|
901
1247
|
end
|
|
902
1248
|
.,.,
|
|
903
1249
|
|
|
904
|
-
# reduce
|
|
1250
|
+
# reduce 60 omitted
|
|
905
1251
|
|
|
906
|
-
# reduce
|
|
1252
|
+
# reduce 61 omitted
|
|
907
1253
|
|
|
908
|
-
# reduce
|
|
1254
|
+
# reduce 62 omitted
|
|
909
1255
|
|
|
910
|
-
# reduce
|
|
1256
|
+
# reduce 63 omitted
|
|
911
1257
|
|
|
912
|
-
# reduce
|
|
1258
|
+
# reduce 64 omitted
|
|
913
1259
|
|
|
914
|
-
# reduce
|
|
1260
|
+
# reduce 65 omitted
|
|
915
1261
|
|
|
916
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
917
|
-
def
|
|
1262
|
+
module_eval <<'.,.,', 'grammar.ra', 286
|
|
1263
|
+
def _reduce_66( val, _values, result )
|
|
1264
|
+
if val[0] =~ /::/
|
|
1265
|
+
raise Puppet::ParseError, "Cannot assign to variables in other namespaces"
|
|
1266
|
+
end
|
|
918
1267
|
# this is distinct from referencing a variable
|
|
919
|
-
variable = AST::Name
|
|
920
|
-
|
|
921
|
-
:file => @lexer.file,
|
|
922
|
-
:value => val[0].sub(/^\$/,'')
|
|
923
|
-
)
|
|
924
|
-
result = AST::VarDef.new(
|
|
925
|
-
:pin => "=",
|
|
926
|
-
:line => @lexer.line,
|
|
927
|
-
:file => @lexer.file,
|
|
928
|
-
:name => variable,
|
|
929
|
-
:value => val[2]
|
|
930
|
-
)
|
|
1268
|
+
variable = ast AST::Name, :value => val[0]
|
|
1269
|
+
result = ast AST::VarDef, :name => variable, :value => val[2]
|
|
931
1270
|
result
|
|
932
1271
|
end
|
|
933
1272
|
.,.,
|
|
934
1273
|
|
|
935
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
936
|
-
def
|
|
937
|
-
result = AST::ASTArray
|
|
938
|
-
:line => @lexer.line,
|
|
939
|
-
:file => @lexer.file,
|
|
940
|
-
:children => []
|
|
941
|
-
)
|
|
1274
|
+
module_eval <<'.,.,', 'grammar.ra', 291
|
|
1275
|
+
def _reduce_67( val, _values, result )
|
|
1276
|
+
result = ast AST::ASTArray
|
|
942
1277
|
result
|
|
943
1278
|
end
|
|
944
1279
|
.,.,
|
|
945
1280
|
|
|
946
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
947
|
-
def
|
|
1281
|
+
module_eval <<'.,.,', 'grammar.ra', 291
|
|
1282
|
+
def _reduce_68( val, _values, result )
|
|
948
1283
|
result = val[0]
|
|
949
1284
|
result
|
|
950
1285
|
end
|
|
951
1286
|
.,.,
|
|
952
1287
|
|
|
953
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
954
|
-
def
|
|
1288
|
+
module_eval <<'.,.,', 'grammar.ra', 300
|
|
1289
|
+
def _reduce_69( val, _values, result )
|
|
955
1290
|
if val[0].instance_of?(AST::ASTArray)
|
|
956
1291
|
val[0].push(val[2])
|
|
957
1292
|
result = val[0]
|
|
958
1293
|
else
|
|
959
|
-
result = AST::ASTArray
|
|
960
|
-
:line => @lexer.line,
|
|
961
|
-
:file => @lexer.file,
|
|
962
|
-
:children => [val[0],val[2]]
|
|
963
|
-
)
|
|
1294
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
|
964
1295
|
end
|
|
965
1296
|
result
|
|
966
1297
|
end
|
|
967
1298
|
.,.,
|
|
968
1299
|
|
|
969
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
970
|
-
def
|
|
971
|
-
|
|
972
|
-
:line => @lexer.line,
|
|
973
|
-
:file => @lexer.file,
|
|
974
|
-
:value => val[0]
|
|
975
|
-
)
|
|
976
|
-
result = AST::ObjectParam.new(
|
|
977
|
-
:pin => "=>",
|
|
978
|
-
:line => @lexer.line,
|
|
979
|
-
:file => @lexer.file,
|
|
980
|
-
:param => leaf,
|
|
981
|
-
:value => val[2]
|
|
982
|
-
)
|
|
1300
|
+
module_eval <<'.,.,', 'grammar.ra', 304
|
|
1301
|
+
def _reduce_70( val, _values, result )
|
|
1302
|
+
result = ast AST::ResourceParam, :param => val[0], :value => val[2]
|
|
983
1303
|
result
|
|
984
1304
|
end
|
|
985
1305
|
.,.,
|
|
986
1306
|
|
|
987
|
-
# reduce
|
|
1307
|
+
# reduce 71 omitted
|
|
988
1308
|
|
|
989
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
990
|
-
def
|
|
1309
|
+
module_eval <<'.,.,', 'grammar.ra', 313
|
|
1310
|
+
def _reduce_72( val, _values, result )
|
|
991
1311
|
if val[0].instance_of?(AST::ASTArray)
|
|
992
1312
|
result = val[0].push(val[2])
|
|
993
1313
|
else
|
|
994
|
-
result = AST::ASTArray
|
|
995
|
-
:line => @lexer.line,
|
|
996
|
-
:file => @lexer.file,
|
|
997
|
-
:children => [val[0],val[2]]
|
|
998
|
-
)
|
|
1314
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
|
999
1315
|
end
|
|
1000
1316
|
result
|
|
1001
1317
|
end
|
|
1002
1318
|
.,.,
|
|
1003
1319
|
|
|
1004
|
-
# reduce
|
|
1320
|
+
# reduce 73 omitted
|
|
1005
1321
|
|
|
1006
|
-
# reduce
|
|
1322
|
+
# reduce 74 omitted
|
|
1007
1323
|
|
|
1008
|
-
# reduce
|
|
1324
|
+
# reduce 75 omitted
|
|
1009
1325
|
|
|
1010
|
-
# reduce
|
|
1326
|
+
# reduce 76 omitted
|
|
1011
1327
|
|
|
1012
|
-
# reduce
|
|
1328
|
+
# reduce 77 omitted
|
|
1013
1329
|
|
|
1014
|
-
# reduce
|
|
1330
|
+
# reduce 78 omitted
|
|
1015
1331
|
|
|
1016
|
-
# reduce
|
|
1332
|
+
# reduce 79 omitted
|
|
1017
1333
|
|
|
1018
|
-
# reduce
|
|
1334
|
+
# reduce 80 omitted
|
|
1335
|
+
|
|
1336
|
+
# reduce 81 omitted
|
|
1337
|
+
|
|
1338
|
+
# reduce 82 omitted
|
|
1339
|
+
|
|
1340
|
+
# reduce 83 omitted
|
|
1019
1341
|
|
|
1020
|
-
# reduce
|
|
1342
|
+
# reduce 84 omitted
|
|
1021
1343
|
|
|
1022
|
-
|
|
1023
|
-
|
|
1344
|
+
# reduce 85 omitted
|
|
1345
|
+
|
|
1346
|
+
# reduce 86 omitted
|
|
1347
|
+
|
|
1348
|
+
# reduce 87 omitted
|
|
1349
|
+
|
|
1350
|
+
module_eval <<'.,.,', 'grammar.ra', 339
|
|
1351
|
+
def _reduce_88( val, _values, result )
|
|
1024
1352
|
args = aryfy(val[2])
|
|
1025
|
-
result = AST::Function
|
|
1026
|
-
:line => @lexer.line,
|
|
1027
|
-
:file => @lexer.file,
|
|
1353
|
+
result = ast AST::Function,
|
|
1028
1354
|
:name => val[0],
|
|
1029
1355
|
:arguments => args,
|
|
1030
1356
|
:ftype => :rvalue
|
|
1031
|
-
)
|
|
1032
1357
|
result
|
|
1033
1358
|
end
|
|
1034
1359
|
.,.,
|
|
1035
1360
|
|
|
1036
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1037
|
-
def
|
|
1038
|
-
result = AST::
|
|
1039
|
-
:
|
|
1040
|
-
:
|
|
1041
|
-
:
|
|
1042
|
-
)
|
|
1361
|
+
module_eval <<'.,.,', 'grammar.ra', 344
|
|
1362
|
+
def _reduce_89( val, _values, result )
|
|
1363
|
+
result = ast AST::Function,
|
|
1364
|
+
:name => val[0],
|
|
1365
|
+
:arguments => AST::ASTArray.new({}),
|
|
1366
|
+
:ftype => :rvalue
|
|
1043
1367
|
result
|
|
1044
1368
|
end
|
|
1045
1369
|
.,.,
|
|
1046
1370
|
|
|
1047
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1048
|
-
def
|
|
1049
|
-
result = AST::
|
|
1050
|
-
:line => @lexer.line,
|
|
1051
|
-
:file => @lexer.file,
|
|
1052
|
-
:value => val[0]
|
|
1053
|
-
)
|
|
1371
|
+
module_eval <<'.,.,', 'grammar.ra', 348
|
|
1372
|
+
def _reduce_90( val, _values, result )
|
|
1373
|
+
result = ast AST::String, :value => val[0]
|
|
1054
1374
|
result
|
|
1055
1375
|
end
|
|
1056
1376
|
.,.,
|
|
1057
1377
|
|
|
1058
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1059
|
-
def
|
|
1060
|
-
result = AST::
|
|
1061
|
-
:line => @lexer.line,
|
|
1062
|
-
:file => @lexer.file,
|
|
1063
|
-
:value => val[0]
|
|
1064
|
-
)
|
|
1378
|
+
module_eval <<'.,.,', 'grammar.ra', 350
|
|
1379
|
+
def _reduce_91( val, _values, result )
|
|
1380
|
+
result = ast AST::FlatString, :value => val[0]
|
|
1065
1381
|
result
|
|
1066
1382
|
end
|
|
1067
1383
|
.,.,
|
|
1068
1384
|
|
|
1069
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1070
|
-
def
|
|
1071
|
-
result = AST::
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1385
|
+
module_eval <<'.,.,', 'grammar.ra', 354
|
|
1386
|
+
def _reduce_92( val, _values, result )
|
|
1387
|
+
result = ast AST::Boolean, :value => val[0]
|
|
1388
|
+
result
|
|
1389
|
+
end
|
|
1390
|
+
.,.,
|
|
1391
|
+
|
|
1392
|
+
module_eval <<'.,.,', 'grammar.ra', 359
|
|
1393
|
+
def _reduce_93( val, _values, result )
|
|
1394
|
+
Puppet.warning addcontext("Deprecation notice: Resource references should now be capitalized")
|
|
1395
|
+
result = ast AST::ResourceRef, :type => val[0], :title => val[2]
|
|
1396
|
+
result
|
|
1397
|
+
end
|
|
1398
|
+
.,.,
|
|
1399
|
+
|
|
1400
|
+
module_eval <<'.,.,', 'grammar.ra', 361
|
|
1401
|
+
def _reduce_94( val, _values, result )
|
|
1402
|
+
result = ast AST::ResourceRef, :type => val[0], :title => val[2]
|
|
1078
1403
|
result
|
|
1079
1404
|
end
|
|
1080
1405
|
.,.,
|
|
1081
1406
|
|
|
1082
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1083
|
-
def
|
|
1407
|
+
module_eval <<'.,.,', 'grammar.ra', 374
|
|
1408
|
+
def _reduce_95( val, _values, result )
|
|
1409
|
+
args = {
|
|
1410
|
+
:test => val[1],
|
|
1411
|
+
:statements => val[3]
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
if val[5]
|
|
1415
|
+
args[:else] = val[5]
|
|
1416
|
+
end
|
|
1417
|
+
|
|
1418
|
+
result = ast AST::IfStatement, args
|
|
1419
|
+
result
|
|
1420
|
+
end
|
|
1421
|
+
.,.,
|
|
1422
|
+
|
|
1423
|
+
# reduce 96 omitted
|
|
1424
|
+
|
|
1425
|
+
module_eval <<'.,.,', 'grammar.ra', 379
|
|
1426
|
+
def _reduce_97( val, _values, result )
|
|
1427
|
+
result = ast AST::Else, :statements => val[2]
|
|
1428
|
+
result
|
|
1429
|
+
end
|
|
1430
|
+
.,.,
|
|
1431
|
+
|
|
1432
|
+
# reduce 98 omitted
|
|
1433
|
+
|
|
1434
|
+
module_eval <<'.,.,', 'grammar.ra', 391
|
|
1435
|
+
def _reduce_99( val, _values, result )
|
|
1084
1436
|
options = val[3]
|
|
1085
1437
|
unless options.instance_of?(AST::ASTArray)
|
|
1086
|
-
options = AST::ASTArray
|
|
1087
|
-
:line => @lexer.line,
|
|
1088
|
-
:file => @lexer.file,
|
|
1089
|
-
:children => [val[3]]
|
|
1090
|
-
)
|
|
1438
|
+
options = ast AST::ASTArray, :children => [val[3]]
|
|
1091
1439
|
end
|
|
1092
|
-
result = AST::CaseStatement
|
|
1093
|
-
:test => val[1],
|
|
1094
|
-
:options => options,
|
|
1095
|
-
:file => @lexer.file,
|
|
1096
|
-
:line => @lexer.line
|
|
1097
|
-
)
|
|
1440
|
+
result = ast AST::CaseStatement, :test => val[1], :options => options
|
|
1098
1441
|
result
|
|
1099
1442
|
end
|
|
1100
1443
|
.,.,
|
|
1101
1444
|
|
|
1102
|
-
# reduce
|
|
1445
|
+
# reduce 100 omitted
|
|
1103
1446
|
|
|
1104
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1105
|
-
def
|
|
1447
|
+
module_eval <<'.,.,', 'grammar.ra', 401
|
|
1448
|
+
def _reduce_101( val, _values, result )
|
|
1106
1449
|
if val[0].instance_of?(AST::ASTArray)
|
|
1107
1450
|
val[0].push val[1]
|
|
1108
1451
|
result = val[0]
|
|
1109
1452
|
else
|
|
1110
|
-
result = AST::ASTArray
|
|
1111
|
-
:line => @lexer.line,
|
|
1112
|
-
:file => @lexer.file,
|
|
1113
|
-
:children => [val[0], val[1]]
|
|
1114
|
-
)
|
|
1453
|
+
result = ast AST::ASTArray, :children => [val[0], val[1]]
|
|
1115
1454
|
end
|
|
1116
1455
|
result
|
|
1117
1456
|
end
|
|
1118
1457
|
.,.,
|
|
1119
1458
|
|
|
1120
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1121
|
-
def
|
|
1122
|
-
result = AST::CaseOpt
|
|
1123
|
-
:pin => ":",
|
|
1124
|
-
:value => val[0],
|
|
1125
|
-
:file => @lexer.file,
|
|
1126
|
-
:line => @lexer.line,
|
|
1127
|
-
:statements => val[3]
|
|
1128
|
-
)
|
|
1459
|
+
module_eval <<'.,.,', 'grammar.ra', 405
|
|
1460
|
+
def _reduce_102( val, _values, result )
|
|
1461
|
+
result = ast AST::CaseOpt, :value => val[0], :statements => val[3]
|
|
1129
1462
|
result
|
|
1130
1463
|
end
|
|
1131
1464
|
.,.,
|
|
1132
1465
|
|
|
1133
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1134
|
-
def
|
|
1135
|
-
result = AST::CaseOpt
|
|
1136
|
-
:pin => ":",
|
|
1466
|
+
module_eval <<'.,.,', 'grammar.ra', 410
|
|
1467
|
+
def _reduce_103( val, _values, result )
|
|
1468
|
+
result = ast(AST::CaseOpt,
|
|
1137
1469
|
:value => val[0],
|
|
1138
|
-
:
|
|
1139
|
-
:line => @lexer.line,
|
|
1140
|
-
:statements => AST::ASTArray.new(
|
|
1141
|
-
:line => @lexer.line,
|
|
1142
|
-
:file => @lexer.file,
|
|
1143
|
-
:children => []
|
|
1144
|
-
)
|
|
1470
|
+
:statements => ast(AST::ASTArray)
|
|
1145
1471
|
)
|
|
1146
1472
|
result
|
|
1147
1473
|
end
|
|
1148
1474
|
.,.,
|
|
1149
1475
|
|
|
1150
|
-
# reduce
|
|
1476
|
+
# reduce 104 omitted
|
|
1151
1477
|
|
|
1152
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1153
|
-
def
|
|
1478
|
+
module_eval <<'.,.,', 'grammar.ra', 420
|
|
1479
|
+
def _reduce_105( val, _values, result )
|
|
1154
1480
|
if val[0].instance_of?(AST::ASTArray)
|
|
1155
1481
|
val[0].push(val[2])
|
|
1156
1482
|
result = val[0]
|
|
1157
1483
|
else
|
|
1158
|
-
result = AST::ASTArray
|
|
1159
|
-
:line => @lexer.line,
|
|
1160
|
-
:file => @lexer.file,
|
|
1161
|
-
:children => [val[0],val[2]]
|
|
1162
|
-
)
|
|
1484
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
|
1163
1485
|
end
|
|
1164
1486
|
result
|
|
1165
1487
|
end
|
|
1166
1488
|
.,.,
|
|
1167
1489
|
|
|
1168
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1169
|
-
def
|
|
1170
|
-
result = AST::Selector
|
|
1171
|
-
:pin => "?",
|
|
1172
|
-
:line => @lexer.line,
|
|
1173
|
-
:file => @lexer.file,
|
|
1174
|
-
:param => val[0],
|
|
1175
|
-
:values => val[2]
|
|
1176
|
-
)
|
|
1490
|
+
module_eval <<'.,.,', 'grammar.ra', 424
|
|
1491
|
+
def _reduce_106( val, _values, result )
|
|
1492
|
+
result = ast AST::Selector, :param => val[0], :values => val[2]
|
|
1177
1493
|
result
|
|
1178
1494
|
end
|
|
1179
1495
|
.,.,
|
|
1180
1496
|
|
|
1181
|
-
# reduce
|
|
1497
|
+
# reduce 107 omitted
|
|
1182
1498
|
|
|
1183
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1184
|
-
def
|
|
1499
|
+
module_eval <<'.,.,', 'grammar.ra', 426
|
|
1500
|
+
def _reduce_108( val, _values, result )
|
|
1185
1501
|
result = val[1]
|
|
1186
1502
|
result
|
|
1187
1503
|
end
|
|
1188
1504
|
.,.,
|
|
1189
1505
|
|
|
1190
|
-
# reduce
|
|
1506
|
+
# reduce 109 omitted
|
|
1191
1507
|
|
|
1192
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1193
|
-
def
|
|
1508
|
+
module_eval <<'.,.,', 'grammar.ra', 437
|
|
1509
|
+
def _reduce_110( val, _values, result )
|
|
1194
1510
|
if val[0].instance_of?(AST::ASTArray)
|
|
1195
1511
|
val[0].push(val[2])
|
|
1196
1512
|
result = val[0]
|
|
1197
1513
|
else
|
|
1198
|
-
result = AST::ASTArray
|
|
1199
|
-
:line => @lexer.line,
|
|
1200
|
-
:file => @lexer.file,
|
|
1201
|
-
:children => [val[0],val[2]]
|
|
1202
|
-
)
|
|
1514
|
+
result = ast AST::ASTArray, :children => [val[0],val[2]]
|
|
1203
1515
|
end
|
|
1204
1516
|
result
|
|
1205
1517
|
end
|
|
1206
1518
|
.,.,
|
|
1207
1519
|
|
|
1208
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1209
|
-
def
|
|
1210
|
-
result = AST::
|
|
1211
|
-
:pin => "=>",
|
|
1212
|
-
:line => @lexer.line,
|
|
1213
|
-
:file => @lexer.file,
|
|
1214
|
-
:param => val[0],
|
|
1215
|
-
:value => val[2]
|
|
1216
|
-
)
|
|
1520
|
+
module_eval <<'.,.,', 'grammar.ra', 441
|
|
1521
|
+
def _reduce_111( val, _values, result )
|
|
1522
|
+
result = ast AST::ResourceParam, :param => val[0], :value => val[2]
|
|
1217
1523
|
result
|
|
1218
1524
|
end
|
|
1219
1525
|
.,.,
|
|
1220
1526
|
|
|
1221
|
-
# reduce
|
|
1527
|
+
# reduce 112 omitted
|
|
1222
1528
|
|
|
1223
|
-
# reduce
|
|
1529
|
+
# reduce 113 omitted
|
|
1224
1530
|
|
|
1225
|
-
# reduce
|
|
1531
|
+
# reduce 114 omitted
|
|
1226
1532
|
|
|
1227
|
-
# reduce
|
|
1533
|
+
# reduce 115 omitted
|
|
1228
1534
|
|
|
1229
|
-
# reduce
|
|
1535
|
+
# reduce 116 omitted
|
|
1230
1536
|
|
|
1231
|
-
# reduce
|
|
1537
|
+
# reduce 117 omitted
|
|
1232
1538
|
|
|
1233
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1234
|
-
def
|
|
1235
|
-
result = AST::Default
|
|
1236
|
-
:line => @lexer.line,
|
|
1237
|
-
:file => @lexer.file,
|
|
1238
|
-
:value => val[0]
|
|
1239
|
-
)
|
|
1539
|
+
module_eval <<'.,.,', 'grammar.ra', 451
|
|
1540
|
+
def _reduce_118( val, _values, result )
|
|
1541
|
+
result = ast AST::Default, :value => val[0]
|
|
1240
1542
|
result
|
|
1241
1543
|
end
|
|
1242
1544
|
.,.,
|
|
1243
1545
|
|
|
1244
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1245
|
-
def
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
dir = @lexer.file.sub(%r{[^/]+$},'').sub(/\/$/, '')
|
|
1251
|
-
if dir == ""
|
|
1252
|
-
dir = "."
|
|
1253
|
-
end
|
|
1254
|
-
result = AST::ASTArray.new(
|
|
1255
|
-
:file => @lexer.file,
|
|
1256
|
-
:line => @lexer.line
|
|
1257
|
-
)
|
|
1546
|
+
module_eval <<'.,.,', 'grammar.ra', 453
|
|
1547
|
+
def _reduce_119( val, _values, result )
|
|
1548
|
+
result = [val[0].value]
|
|
1549
|
+
result
|
|
1550
|
+
end
|
|
1551
|
+
.,.,
|
|
1258
1552
|
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
"The import of #{pat} contains a variable reference;" +
|
|
1266
|
-
" variables are not interpolated for imports " +
|
|
1267
|
-
"in file #{@lexer.file} at line #{@lexer.line}"
|
|
1268
|
-
)
|
|
1269
|
-
end
|
|
1270
|
-
files = Dir.glob(pat)
|
|
1271
|
-
if files.size == 0
|
|
1272
|
-
files = Dir.glob(pat + ".pp")
|
|
1273
|
-
if files.size == 0
|
|
1274
|
-
raise Puppet::ImportError.new("No file(s) found for import " +
|
|
1275
|
-
"of '#{pat}'")
|
|
1276
|
-
end
|
|
1277
|
-
end
|
|
1553
|
+
module_eval <<'.,.,', 'grammar.ra', 457
|
|
1554
|
+
def _reduce_120( val, _values, result )
|
|
1555
|
+
results = val[0] << val[2].value
|
|
1556
|
+
result
|
|
1557
|
+
end
|
|
1558
|
+
.,.,
|
|
1278
1559
|
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1560
|
+
module_eval <<'.,.,', 'grammar.ra', 465
|
|
1561
|
+
def _reduce_121( val, _values, result )
|
|
1562
|
+
val[1].each do |file|
|
|
1563
|
+
import(file)
|
|
1564
|
+
end
|
|
1283
1565
|
|
|
1284
|
-
|
|
1285
|
-
file = File.join(dir, file)
|
|
1286
|
-
end
|
|
1287
|
-
begin
|
|
1288
|
-
parser.file = file
|
|
1289
|
-
rescue Puppet::ImportError
|
|
1290
|
-
Puppet.warning(
|
|
1291
|
-
"Importing %s would result in an import loop" %
|
|
1292
|
-
File.join(dir, file)
|
|
1293
|
-
)
|
|
1294
|
-
next
|
|
1295
|
-
end
|
|
1296
|
-
# push the results into the main result array
|
|
1297
|
-
parser.parse.each do |child|
|
|
1298
|
-
result.push child
|
|
1299
|
-
end
|
|
1300
|
-
}
|
|
1301
|
-
}
|
|
1566
|
+
result = AST::ASTArray.new(:children => [])
|
|
1302
1567
|
result
|
|
1303
1568
|
end
|
|
1304
1569
|
.,.,
|
|
1305
1570
|
|
|
1306
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1307
|
-
def
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
:keyword => val[0],
|
|
1314
|
-
:code => val[4]
|
|
1315
|
-
)
|
|
1571
|
+
module_eval <<'.,.,', 'grammar.ra', 475
|
|
1572
|
+
def _reduce_122( val, _values, result )
|
|
1573
|
+
interp.newdefine fqname(val[1]), :arguments => val[2], :code => val[4]
|
|
1574
|
+
@lexer.indefine = false
|
|
1575
|
+
result = nil
|
|
1576
|
+
|
|
1577
|
+
#} | DEFINE NAME argumentlist parent LBRACE RBRACE {
|
|
1316
1578
|
result
|
|
1317
1579
|
end
|
|
1318
1580
|
.,.,
|
|
1319
1581
|
|
|
1320
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1321
|
-
def
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
:file => @lexer.file,
|
|
1326
|
-
:line => @lexer.line,
|
|
1327
|
-
:keyword => val[0],
|
|
1328
|
-
:code => AST::ASTArray.new(
|
|
1329
|
-
:line => @lexer.line,
|
|
1330
|
-
:file => @lexer.file,
|
|
1331
|
-
:children => []
|
|
1332
|
-
)
|
|
1333
|
-
)
|
|
1582
|
+
module_eval <<'.,.,', 'grammar.ra', 479
|
|
1583
|
+
def _reduce_123( val, _values, result )
|
|
1584
|
+
interp.newdefine fqname(val[1]), :arguments => val[2]
|
|
1585
|
+
@lexer.indefine = false
|
|
1586
|
+
result = nil
|
|
1334
1587
|
result
|
|
1335
1588
|
end
|
|
1336
1589
|
.,.,
|
|
1337
1590
|
|
|
1338
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1339
|
-
def
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
:line => @lexer.line,
|
|
1345
|
-
:keyword => val[0],
|
|
1346
|
-
:code => val[4]
|
|
1347
|
-
}
|
|
1348
|
-
# It'll be an ASTArray if we didn't get a parent
|
|
1349
|
-
if val[2].instance_of?(AST::Name)
|
|
1350
|
-
args[:parentclass] = val[2]
|
|
1351
|
-
end
|
|
1352
|
-
result = AST::ClassDef.new(args)
|
|
1591
|
+
module_eval <<'.,.,', 'grammar.ra', 487
|
|
1592
|
+
def _reduce_124( val, _values, result )
|
|
1593
|
+
# Our class gets defined in the parent namespace, not our own.
|
|
1594
|
+
@lexer.namepop
|
|
1595
|
+
interp.newclass fqname(val[1]), :code => val[4], :parent => val[2]
|
|
1596
|
+
result = nil
|
|
1353
1597
|
result
|
|
1354
1598
|
end
|
|
1355
1599
|
.,.,
|
|
1356
1600
|
|
|
1357
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1358
|
-
def
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
:keyword => val[0],
|
|
1364
|
-
:code => AST::ASTArray.new(
|
|
1365
|
-
:line => @lexer.line,
|
|
1366
|
-
:file => @lexer.file,
|
|
1367
|
-
:children => []
|
|
1368
|
-
)
|
|
1369
|
-
}
|
|
1370
|
-
# It'll be an ASTArray if we didn't get a parent
|
|
1371
|
-
if val[2].instance_of?(AST::Name)
|
|
1372
|
-
args[:parentclass] = val[2]
|
|
1373
|
-
end
|
|
1374
|
-
result = AST::ClassDef.new(args)
|
|
1601
|
+
module_eval <<'.,.,', 'grammar.ra', 492
|
|
1602
|
+
def _reduce_125( val, _values, result )
|
|
1603
|
+
# Our class gets defined in the parent namespace, not our own.
|
|
1604
|
+
@lexer.namepop
|
|
1605
|
+
interp.newclass fqname(val[1]), :parent => val[2]
|
|
1606
|
+
result = nil
|
|
1375
1607
|
result
|
|
1376
1608
|
end
|
|
1377
1609
|
.,.,
|
|
1378
1610
|
|
|
1379
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1380
|
-
def
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
:line => val[1].line,
|
|
1384
|
-
:file => val[1].file,
|
|
1385
|
-
:children => [val[1]]
|
|
1386
|
-
)
|
|
1387
|
-
end
|
|
1388
|
-
args = {
|
|
1389
|
-
:file => @lexer.file,
|
|
1390
|
-
:line => @lexer.line,
|
|
1391
|
-
:names => val[1],
|
|
1392
|
-
:keyword => val[0],
|
|
1393
|
-
:code => val[4]
|
|
1394
|
-
}
|
|
1395
|
-
if val[2].instance_of?(AST::Name)
|
|
1396
|
-
args[:parentclass] = val[2]
|
|
1397
|
-
end
|
|
1398
|
-
result = AST::NodeDef.new(args)
|
|
1611
|
+
module_eval <<'.,.,', 'grammar.ra', 497
|
|
1612
|
+
def _reduce_126( val, _values, result )
|
|
1613
|
+
interp.newnode val[1], :parent => val[2], :code => val[4]
|
|
1614
|
+
result = nil
|
|
1399
1615
|
result
|
|
1400
1616
|
end
|
|
1401
1617
|
.,.,
|
|
1402
1618
|
|
|
1403
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1404
|
-
def
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
:line => val[1].line,
|
|
1408
|
-
:file => val[1].file,
|
|
1409
|
-
:children => [val[1]]
|
|
1410
|
-
)
|
|
1411
|
-
end
|
|
1412
|
-
args = {
|
|
1413
|
-
:file => @lexer.file,
|
|
1414
|
-
:line => @lexer.line,
|
|
1415
|
-
:keyword => val[0],
|
|
1416
|
-
:names => val[1],
|
|
1417
|
-
:code => AST::ASTArray.new(
|
|
1418
|
-
:line => @lexer.line,
|
|
1419
|
-
:file => @lexer.file,
|
|
1420
|
-
:children => []
|
|
1421
|
-
)
|
|
1422
|
-
}
|
|
1423
|
-
if val[2].instance_of?(AST::Name)
|
|
1424
|
-
args[:parentclass] = val[2]
|
|
1425
|
-
end
|
|
1426
|
-
result = AST::NodeDef.new(args)
|
|
1619
|
+
module_eval <<'.,.,', 'grammar.ra', 500
|
|
1620
|
+
def _reduce_127( val, _values, result )
|
|
1621
|
+
interp.newnode val[1], :parent => val[2]
|
|
1622
|
+
result = nil
|
|
1427
1623
|
result
|
|
1428
1624
|
end
|
|
1429
1625
|
.,.,
|
|
1430
1626
|
|
|
1431
|
-
# reduce
|
|
1627
|
+
# reduce 128 omitted
|
|
1432
1628
|
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
:children => [val[0], val[2]]
|
|
1443
|
-
)
|
|
1444
|
-
end
|
|
1629
|
+
# reduce 129 omitted
|
|
1630
|
+
|
|
1631
|
+
# reduce 130 omitted
|
|
1632
|
+
|
|
1633
|
+
module_eval <<'.,.,', 'grammar.ra', 512
|
|
1634
|
+
def _reduce_131( val, _values, result )
|
|
1635
|
+
result = val[0]
|
|
1636
|
+
result = [result] unless result.is_a?(Array)
|
|
1637
|
+
result << val[2]
|
|
1445
1638
|
result
|
|
1446
1639
|
end
|
|
1447
1640
|
.,.,
|
|
1448
1641
|
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1642
|
+
# reduce 132 omitted
|
|
1643
|
+
|
|
1644
|
+
# reduce 133 omitted
|
|
1645
|
+
|
|
1646
|
+
# reduce 134 omitted
|
|
1647
|
+
|
|
1648
|
+
module_eval <<'.,.,', 'grammar.ra', 520
|
|
1649
|
+
def _reduce_135( val, _values, result )
|
|
1650
|
+
result = nil
|
|
1456
1651
|
result
|
|
1457
1652
|
end
|
|
1458
1653
|
.,.,
|
|
1459
1654
|
|
|
1460
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1461
|
-
def
|
|
1462
|
-
|
|
1463
|
-
:line => @lexer.line,
|
|
1464
|
-
:file => @lexer.file,
|
|
1465
|
-
:value => val[0]
|
|
1466
|
-
)
|
|
1655
|
+
module_eval <<'.,.,', 'grammar.ra', 524
|
|
1656
|
+
def _reduce_136( val, _values, result )
|
|
1657
|
+
result = ast AST::ASTArray, :children => []
|
|
1467
1658
|
result
|
|
1468
1659
|
end
|
|
1469
1660
|
.,.,
|
|
1470
1661
|
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
:value => val[0]
|
|
1477
|
-
)
|
|
1662
|
+
# reduce 137 omitted
|
|
1663
|
+
|
|
1664
|
+
module_eval <<'.,.,', 'grammar.ra', 529
|
|
1665
|
+
def _reduce_138( val, _values, result )
|
|
1666
|
+
result = nil
|
|
1478
1667
|
result
|
|
1479
1668
|
end
|
|
1480
1669
|
.,.,
|
|
1481
1670
|
|
|
1482
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1483
|
-
def
|
|
1484
|
-
result =
|
|
1485
|
-
|
|
1486
|
-
:file => @lexer.file,
|
|
1487
|
-
:children => []
|
|
1488
|
-
)
|
|
1671
|
+
module_eval <<'.,.,', 'grammar.ra', 533
|
|
1672
|
+
def _reduce_139( val, _values, result )
|
|
1673
|
+
result = val[1]
|
|
1674
|
+
result = [result] unless result[0].is_a?(Array)
|
|
1489
1675
|
result
|
|
1490
1676
|
end
|
|
1491
1677
|
.,.,
|
|
1492
1678
|
|
|
1493
|
-
# reduce
|
|
1679
|
+
# reduce 140 omitted
|
|
1494
1680
|
|
|
1495
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1496
|
-
def
|
|
1497
|
-
result = val[
|
|
1681
|
+
module_eval <<'.,.,', 'grammar.ra', 540
|
|
1682
|
+
def _reduce_141( val, _values, result )
|
|
1683
|
+
result = val[0]
|
|
1684
|
+
result = [result] unless result[0].is_a?(Array)
|
|
1685
|
+
result << val[2]
|
|
1498
1686
|
result
|
|
1499
1687
|
end
|
|
1500
1688
|
.,.,
|
|
1501
1689
|
|
|
1502
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1503
|
-
def
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
else
|
|
1507
|
-
result = AST::ASTArray.new(
|
|
1508
|
-
:line => @lexer.line,
|
|
1509
|
-
:file => @lexer.file,
|
|
1510
|
-
:children => [val[1]]
|
|
1511
|
-
)
|
|
1512
|
-
end
|
|
1690
|
+
module_eval <<'.,.,', 'grammar.ra', 545
|
|
1691
|
+
def _reduce_142( val, _values, result )
|
|
1692
|
+
Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
|
|
1693
|
+
result = [val[0], val[2]]
|
|
1513
1694
|
result
|
|
1514
1695
|
end
|
|
1515
1696
|
.,.,
|
|
1516
1697
|
|
|
1517
|
-
|
|
1698
|
+
module_eval <<'.,.,', 'grammar.ra', 549
|
|
1699
|
+
def _reduce_143( val, _values, result )
|
|
1700
|
+
Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
|
|
1701
|
+
result = [val[0]]
|
|
1702
|
+
result
|
|
1703
|
+
end
|
|
1704
|
+
.,.,
|
|
1518
1705
|
|
|
1519
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1520
|
-
def
|
|
1521
|
-
|
|
1522
|
-
val[0].push(val[2])
|
|
1523
|
-
result = val[0]
|
|
1524
|
-
else
|
|
1525
|
-
result = AST::ASTArray.new(
|
|
1526
|
-
:line => @lexer.line,
|
|
1527
|
-
:file => @lexer.file,
|
|
1528
|
-
:children => [val[0],val[2]]
|
|
1529
|
-
)
|
|
1530
|
-
end
|
|
1706
|
+
module_eval <<'.,.,', 'grammar.ra', 551
|
|
1707
|
+
def _reduce_144( val, _values, result )
|
|
1708
|
+
result = [val[0], val[2]]
|
|
1531
1709
|
result
|
|
1532
1710
|
end
|
|
1533
1711
|
.,.,
|
|
1534
1712
|
|
|
1535
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1536
|
-
def
|
|
1537
|
-
result =
|
|
1538
|
-
:line => @lexer.line,
|
|
1539
|
-
:file => @lexer.file,
|
|
1540
|
-
:children => [val[0],val[2]]
|
|
1541
|
-
)
|
|
1713
|
+
module_eval <<'.,.,', 'grammar.ra', 553
|
|
1714
|
+
def _reduce_145( val, _values, result )
|
|
1715
|
+
result = [val[0]]
|
|
1542
1716
|
result
|
|
1543
1717
|
end
|
|
1544
1718
|
.,.,
|
|
1545
1719
|
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
:children => [val[0]]
|
|
1552
|
-
)
|
|
1720
|
+
# reduce 146 omitted
|
|
1721
|
+
|
|
1722
|
+
module_eval <<'.,.,', 'grammar.ra', 558
|
|
1723
|
+
def _reduce_147( val, _values, result )
|
|
1724
|
+
result = val[1]
|
|
1553
1725
|
result
|
|
1554
1726
|
end
|
|
1555
1727
|
.,.,
|
|
1556
1728
|
|
|
1557
|
-
# reduce
|
|
1729
|
+
# reduce 148 omitted
|
|
1558
1730
|
|
|
1559
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1560
|
-
def
|
|
1561
|
-
result =
|
|
1562
|
-
:value => val[1],
|
|
1563
|
-
:file => @lexer.file,
|
|
1564
|
-
:line => @lexer.line
|
|
1565
|
-
)
|
|
1731
|
+
module_eval <<'.,.,', 'grammar.ra', 563
|
|
1732
|
+
def _reduce_149( val, _values, result )
|
|
1733
|
+
result = val[1]
|
|
1566
1734
|
result
|
|
1567
1735
|
end
|
|
1568
1736
|
.,.,
|
|
1569
1737
|
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1738
|
+
# reduce 150 omitted
|
|
1739
|
+
|
|
1740
|
+
# reduce 151 omitted
|
|
1741
|
+
|
|
1742
|
+
# reduce 152 omitted
|
|
1743
|
+
|
|
1744
|
+
# reduce 153 omitted
|
|
1745
|
+
|
|
1746
|
+
module_eval <<'.,.,', 'grammar.ra', 570
|
|
1747
|
+
def _reduce_154( val, _values, result )
|
|
1748
|
+
result = ast AST::Variable, :value => val[0]
|
|
1578
1749
|
result
|
|
1579
1750
|
end
|
|
1580
1751
|
.,.,
|
|
1581
1752
|
|
|
1582
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1583
|
-
def
|
|
1753
|
+
module_eval <<'.,.,', 'grammar.ra', 578
|
|
1754
|
+
def _reduce_155( val, _values, result )
|
|
1584
1755
|
if val[1].instance_of?(AST::ASTArray)
|
|
1585
1756
|
result = val[1]
|
|
1586
1757
|
else
|
|
1587
|
-
result = AST::ASTArray
|
|
1588
|
-
:line => @lexer.line,
|
|
1589
|
-
:file => @lexer.file,
|
|
1590
|
-
:children => [val[1]]
|
|
1591
|
-
)
|
|
1758
|
+
result = ast AST::ASTArray, :children => [val[1]]
|
|
1592
1759
|
end
|
|
1593
1760
|
result
|
|
1594
1761
|
end
|
|
1595
1762
|
.,.,
|
|
1596
1763
|
|
|
1597
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1598
|
-
def
|
|
1599
|
-
result = AST::ASTArray
|
|
1600
|
-
:line => @lexer.line,
|
|
1601
|
-
:file => @lexer.file,
|
|
1602
|
-
:children => []
|
|
1603
|
-
)
|
|
1764
|
+
module_eval <<'.,.,', 'grammar.ra', 580
|
|
1765
|
+
def _reduce_156( val, _values, result )
|
|
1766
|
+
result = ast AST::ASTArray
|
|
1604
1767
|
result
|
|
1605
1768
|
end
|
|
1606
1769
|
.,.,
|
|
1607
1770
|
|
|
1608
|
-
# reduce
|
|
1771
|
+
# reduce 157 omitted
|
|
1609
1772
|
|
|
1610
|
-
# reduce
|
|
1773
|
+
# reduce 158 omitted
|
|
1611
1774
|
|
|
1612
|
-
# reduce
|
|
1775
|
+
# reduce 159 omitted
|
|
1613
1776
|
|
|
1614
|
-
module_eval <<'.,.,', 'grammar.ra',
|
|
1615
|
-
def
|
|
1777
|
+
module_eval <<'.,.,', 'grammar.ra', 585
|
|
1778
|
+
def _reduce_160( val, _values, result )
|
|
1616
1779
|
result = nil
|
|
1617
1780
|
result
|
|
1618
1781
|
end
|