YaccConstructor


ExpandMeta

Namespace: Yard.Core.Conversions

Nested types and modules

TypeDescription
ExpandMeta

Functions and values

Function or valueDescription
expandRule
Signature: t<t,t> -> string -> IDictionary<string,Dictionary<string,(string * t<t,t>)>> -> Dictionary<string,t<t,t>> -> t<t,t> * t<t,t> list

Replace rule with new one, replacing references to metarules, and generate new rules for every such reference body: t - production which can contain metareferences metaRules: TO_DO Dictionary> - table, which contains expanding metareferences rules expanded: Dictionary - map of metareference with actual params to generated rule name res: Rule.t list - currently generated rules returns (new body, generated rules + old rules)

findMetaRule tbl module' metaName
Signature: tbl:IDictionary<string,Dictionary<string,(string * t<t,t>)>> -> module':string -> metaName:string -> string * t<t,t>

find metarule with given name in hash map of collected metarules

getKey module' key
Signature: module':string -> key:t<t,t> -> string
Fork me on GitHub