internal package Foswiki::Infix::Node

See PublishedAPI for packages intended to be used by Plugin and Contrib authors, or browse all packages.
See also Developing plugins, Developer's Bible, Technical Overview

internal package Foswiki::Infix::Node

Base class for node types generated by Infix::Parser (and its subclasses). This defines the interface used to construct nodes from the parser.

ClassMethod newNode( $o, @p ) → \$if

Construct a new parse node (contract with Infix::Parser)

ClassMethod newLeaf( $val, $type ) → \$if

Construct a new terminal node (contract with Infix::Parser)
  • $val - the (scalar) value of the leaf
  • $type - one of NAME, NUMBER, STRING

ObjectMethod convertToLeaf( $type, $val )

Convert the node into a terminal node.
  • $type - one of NAME, NUMBER, STRING
  • $val - the (scalar) value of the leaf

Not used by the Foswiki::Infix::Parser.

ObjectMethod isLeaf() → $boolean

Return true if this node was created by newLeaf() (or converted by convertToLeaf)

ObjectMethod stringify() → $string

Generate a string representation of the subtree, for reporting. The representation generated by this function should be parseable, but is not guaranteed to be.

Topic revision: r1 - 02 Mar 2020, UnknownUser
© 2020 Ultranauts - 75 Broad Street, 2nd Floor, Suite 206, New York, NY 10004 - info@ultranauts.co