Fleet  0.0.9
Inference in the LOT
Classes | Functions | Variables
Rule.h File Reference

A Rule stores one possible expansion in the grammar, specifying a nonterminal type, an instruction that gets executed, a forma string, a number of children, and an array of types of each child. Here we "emulate" a type system using t_nonterminal to store an integer for the types. *. More...

#include <functional>
#include <string>
#include <vector>
#include "Instruction.h"
#include "Nonterminal.h"
#include "Miscellaneous.h"
#include "Strings.h"
#include "IO.h"
Include dependency graph for Rule.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Rule
 

Functions

std::ostream & operator<< (std::ostream &o, const Rule &r)
 

Variables

const RuleNullRule = new Rule((nonterminal_t)0, nullptr, "\u25A0", {}, 0.0)
 

Detailed Description

A Rule stores one possible expansion in the grammar, specifying a nonterminal type, an instruction that gets executed, a forma string, a number of children, and an array of types of each child. Here we "emulate" a type system using t_nonterminal to store an integer for the types. *.

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  o,
const Rule r 
)

Variable Documentation

◆ NullRule

const Rule* NullRule = new Rule((nonterminal_t)0, nullptr, "\u25A0", {}, 0.0)