YaccConstructor


Helpers

Namespace: Yard.Core

Functions and values

Function or valueDescription
defaultDefinition rules
Signature: rules:t<'?8310,'?8311> list -> t<'?8310,'?8311>
Type parameters: '?8310, '?8311
defaultModules rules
Signature: rules:t<'?8307,'?8308> list -> Module<'?8307,'?8308> list
Type parameters: '?8307, '?8308
errorToken
Signature: string
getModuleName m
Signature: m:Module<'a,'b> -> string
Type parameters: 'a, 'b
getPublicRules grammar
Signature: grammar:t<'a,'b> -> IDictionary<string,t<'a,'b> list>
Type parameters: 'a, 'b

Map: module -> (list of public rules, declared in it)

getRulesMap grammar
Signature: grammar:t<'a,'b> -> IDictionary<string,Dictionary<string,string>>
Type parameters: 'a, 'b

For each module creates map: rule -> (module, in which the rule is declared)

isMetaRule r
Signature: r:t<t,t> -> bool

if rule has metaArgs then it is a metarule

mapGrammar mapF grammar
Signature: mapF:(t<'?8331,'?8332> list -> t<'?8331,'?8332> list) -> grammar:Module<'?8331,'?8332> list -> Module<'?8331,'?8332> list
Type parameters: '?8331, '?8332
mapModule mapF m
Signature: mapF:(t<'?8328,'?8329> list -> t<'?8328,'?8329> list) -> m:Module<'?8328,'?8329> -> Module<'?8328,'?8329>
Type parameters: '?8328, '?8329
metaRules nonTerm body args
Signature: nonTerm:string -> body:t<'?8316,'?8317> -> args:'?8316 list -> t<'?8316,'?8317> list
Type parameters: '?8316, '?8317
metaRulesTbl grammar
Signature: grammar:t<t,t> -> IDictionary<string,Dictionary<string,(string * t<t,t>)>>

hash table for metarules. Map: usingmodule -> (rulename -> (declmodule, ruledecl));

simpleNotStartRules nonTerm body
Signature: nonTerm:string -> body:t<'?8319,'?8320> -> t<'?8319,'?8320> list
Type parameters: '?8319, '?8320
simpleRules nonTerm body
Signature: nonTerm:string -> body:t<'?8313,'?8314> -> t<'?8313,'?8314> list
Type parameters: '?8313, '?8314
verySimpleNotStartRules nonTerm seq
Signature: nonTerm:string -> seq:elem<'?8325,'?8326> list -> t<'?8325,'?8326> list
Type parameters: '?8325, '?8326
verySimpleRules nonTerm seq
Signature: nonTerm:string -> seq:elem<'?8322,'?8323> list -> t<'?8322,'?8323> list
Type parameters: '?8322, '?8323
Fork me on GitHub