Actions

CLASS

Config::BINDish::Actions - default actions for Config::BINDish::Grammar

DESCRIPTION

This class is the default to be used for parsing configs. It builds Config::BINDish::AST tree representation of a config data which is then provided to application code via Config::BINDish attribute $.top. The tree can be used to fetch required configuration data, see Config::BINDish::AST.

METHODS

Most of the methods correspond to named rules in Config::BINDish::Grammar. In this section only utility methods are documented.

make-container(Config::BINDish::Grammar::Value:D $val)

Method creates a new instance of Config::BINDish::AST::Value from its grammar counterpart.

enter-parent(Config::BINDish::AST::Node:D $inner -- Config::BINDish::AST::Node:D)>

enter-parent(Config::BINDish::AST::Node:U $inner, |profile -- Config::BINDish::AST::Node:D)>

Method is invoked when a new Config::BINDish::AST::Node is to be created. For example, this class uses it when creates the TOP node and each time a new block node is created. Config::BINDish::Expandable also uses this method for another kinds of nodes.

If $inner is an undefined typeobject then the method first creates an instance of it using method `new` and using profile as its arguments:

$inner.new(|profile)

Method sets $*CFG-INNER-PARENT.

inner-parent()

Returns the innermost parent node.

SEE ALSO

COPYRIGHT

(c) 2023, Vadim Belman <[email protected]>

LICENSE

Artistic License 2.0

See the LICENSE file in this distribution.

Config::BINDish v0.0.18

Extensible BIND9-like Configuration Files Support

Authors

  • Vadim Belman

License

Artistic-2.0

Dependencies

AttrX::Mooish:auth<zef:vrurg>:ver<1.0.0+>:api<1.0.*>IP::AddrTest::Async:auth<zef:vrurg>:ver<0.1.2+>

Test Dependencies

Provides

  • Config::BINDish
  • Config::BINDish::AST
  • Config::BINDish::Actions
  • Config::BINDish::Expandable
  • Config::BINDish::Grammar
  • Config::BINDish::INET
  • Config::BINDish::Ops
  • Config::BINDish::Test
  • Config::BINDish::X

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.

Built with Podlite — the markup and publishing tools behind this site.