YaccConstructor


EliminateLeftRecursion

Namespace: Yard.Core.Conversions

Nested types and modules

TypeDescription
EliminateLeftRecursion
Production
Rule

Functions and values

Function or valueDescription
createAlt
Signature: t<t,t> list -> t<t,t>
defaultArgName
Signature: string
eliminateLeftRecursion ruleList
Signature: ruleList:Rule list -> Rule list
emptyListAc
Signature: string
getComponents graph
Signature: graph:int list [] -> int list list
getConnectedComponent graph v
Signature: graph:int list [] -> v:int -> int list
getLeftNonTermNames onlyLeftmost _arg1
Signature: onlyLeftmost:bool -> _arg1:t<'?8642,'?8643> -> Set<string>
Type parameters: '?8642, '?8643
getRulesWithEpsilons (...)
Signature: indexToRule:('?8656 -> Rule) -> strongComponent:'?8656 list -> '?8656 list
Type parameters: '?8656
inlineRule (...)
Signature: indexToRule:('?8658 -> Rule) -> targetProductions:t<t,t> list -> sourceRuleIndex:'?8658 -> Production list
Type parameters: '?8658
isEpsilonProduction _arg1
Signature: _arg1:t<'?8650,'?8651> -> bool
Type parameters: '?8650, '?8651
isRuleRef rule _arg1
Signature: rule:Rule -> _arg1:t<'?8653,'?8654> -> bool
Type parameters: '?8653, '?8654
letTemplate
Signature: string -> string
lstArgName
Signature: string
noReduceError
Signature: string -> string
recPrefix
Signature: string -> string
recSuffix
Signature: string
removeImmediateRecursion rule
Signature: rule:Rule -> Rule list
restPrefix
Signature: string
restSuffix
Signature: string
splitAlt rule
Signature: rule:Rule -> t<t,t> list
tmpArgName
Signature: string
trivialReduceError x
Signature: x:string -> string
wrapActionCode preffix suffix text
Signature: preffix:string -> suffix:string -> text:string -> string
Fork me on GitHub