YaccConstructor


CNFandBNF

Namespace: Yard.Core.Conversions

Nested types and modules

TypeDescription
BNFbool
BNFconj
CNF
NonTermComparer<'t1, 't2>
PairComparer<'t1, 't2>
RuleComparer<'t1, 't2>
TermComparer<'t1, 't2>

Functions and values

Function or valueDescription
collectEpsNonterms rules
Signature: rules:t<'?8724,'?8725> list -> elem<'?8724,'?8725> list
Type parameters: '?8724, '?8725
collectNontermsAndUnitRules rules
Signature: rules:t<'?8735,'?8736> list -> seq<string> * HashSet<t<'?8735,'?8736>>
Type parameters: '?8735, '?8736
createConj rules
Signature: rules:seq<t<'?8716,'?8717>> -> t<'?8716,'?8717>
Type parameters: '?8716, '?8717
cutNonEps rules
Signature: rules:t<'?8769,'?8770> list -> t<'?8769,'?8770> list
Type parameters: '?8769, '?8770
cutRule rule rules
Signature: rule:t<'?8758,'?8759> -> rules:HashSet<t<'?8760,'?8761>> -> t<'?8758,'?8759> list
Type parameters: '?8758, '?8759, '?8760, '?8761
deleteEpsilonRules rules
Signature: rules:t<'?8732,'?8733> list -> t<'?8732,'?8733> list
Type parameters: '?8732, '?8733
deleteFewTermRules rules
Signature: rules:t<'?8763,'?8764> list -> t<'?8763,'?8764> list
Type parameters: '?8763, '?8764
deleteLongRules rules
Signature: rules:t<'?8719,'?8720> list -> t<'?8719,'?8720> list
Type parameters: '?8719, '?8720
deleteNonGenerating rules
Signature: rules:t<'?8744,'?8745> list -> t<'?8744,'?8745> list
Type parameters: '?8744, '?8745
deleteUnitRules rules
Signature: rules:t<'?8741,'?8742> list -> t<'?8741,'?8742> list
Type parameters: '?8741, '?8742
deleteUnreachable rules
Signature: rules:t<'?8747,'?8748> list -> t<'?8747,'?8748> list
Type parameters: '?8747, '?8748
deleteUselessRules rules
Signature: rules:t<'?8750,'?8751> list -> t<'?8750,'?8751> list
Type parameters: '?8750, '?8751
filter rule
Signature: rule:t<'?8738,'?8739> -> t<'?8738,'?8739>
Type parameters: '?8738, '?8739
filterAndStuff rules
Signature: rules:t<'?8766,'?8767> list -> t<'?8766,'?8767> list
Type parameters: '?8766, '?8767
getCombinations conjs
Signature: conjs:'?8722 list list -> '?8722 list list
Type parameters: '?8722
getConjs rule epsNonterms
Signature: rule:t<'?8727,'?8728> -> epsNonterms:elem<'?8729,'?8730> list -> t<'?8727,'?8728> list
Type parameters: '?8727, '?8728, '?8729, '?8730
getElements body pos neg flag
Signature: body:t<'?8713,'?8714> -> pos:elem<'?8713,'?8714> list list -> neg:elem<'?8713,'?8714> list list -> flag:bool -> elem<'?8713,'?8714> list list * elem<'?8713,'?8714> list list
Type parameters: '?8713, '?8714
startIsEps
Signature: bool
toCNFandBNF rules conversionType
Signature: rules:t<'?8772,'?8773> list -> conversionType:string -> t<'?8772,'?8773> list
Type parameters: '?8772, '?8773
tryFindRule term rule rules
Signature: term:t -> rule:t<'?8753,'?8754> -> rules:HashSet<t<'?8755,'?8756>> -> t
Type parameters: '?8753, '?8754, '?8755, '?8756
Fork me on GitHub