Module MCollective::Matcher
In: lib/mcollective/matcher.rb
lib/mcollective/matcher/scanner.rb
lib/mcollective/matcher/parser.rb

A parser and scanner that creates a stack machine for a simple fact and class matching language used on the CLI to facilitate a rich discovery language

Language EBNF

compound = ["("] expression [")"] {["("] expression [")"]} expression = [!|not]statement ["and"|"or"] [!|not] statement char = A-Z | a-z | < | > | => | =< | _ | - |* | / { A-Z | a-z | < | > | => | =< | _ | - | * | / | } int = 0|1|2|3|4|5|6|7|8|9{|0|1|2|3|4|5|6|7|8|9|0}

Methods

Classes and Modules

Class MCollective::Matcher::Parser
Class MCollective::Matcher::Scanner

Public Class methods

Creates a callstack to be evaluated from a compound evaluation string

Helper creates a hash from a function call string

Returns the result of an evaluated compound statement that includes a function

Evaluates a compound statement

Returns the result of an executed function

[Validate]