C# 클래스 CFGLib.GrammarGenerator

This class can be used to generate random grammars
파일 보기 프로젝트 열기: ellisonch/CFGLib 1 사용 예제들

공개 메소드들

메소드 설명
GrammarGenerator ( Random rand ) : System
GrammarGenerator ( int seed ) : System
NextCFG ( int numNonterminals, int numProductions, int maxProductionLength, IList terminals, bool useNull = true ) : Grammar

Generates a new, random generic grammar

NextCNF ( int numNonterminals, int numProductions, IList terminals, bool useNull = true ) : CNFGrammar

Generates a new, random CNF grammar

NextCNFNonterminalProduction ( int numNonTerminals, Nonterminal lhs = null ) : Production
NextCNFTerminalProduction ( int numNonterminals, IList terminals, Terminal rhs = null ) : Production
RandomProduction ( int maxProductionLength, int numNonterminals, IList terminals, bool useNull = true ) : Production

비공개 메소드들

메소드 설명
RandomNonterminal ( int numNonterminals, bool allowStart = true ) : Nonterminal
RandomTerminal ( IList terminals ) : Terminal

메소드 상세

GrammarGenerator() 공개 메소드

public GrammarGenerator ( Random rand ) : System
rand System.Random
리턴 System

GrammarGenerator() 공개 메소드

public GrammarGenerator ( int seed ) : System
seed int
리턴 System

NextCFG() 공개 메소드

Generates a new, random generic grammar
public NextCFG ( int numNonterminals, int numProductions, int maxProductionLength, IList terminals, bool useNull = true ) : Grammar
numNonterminals int
numProductions int
maxProductionLength int
terminals IList
useNull bool
리턴 Grammar

NextCNF() 공개 메소드

Generates a new, random CNF grammar
public NextCNF ( int numNonterminals, int numProductions, IList terminals, bool useNull = true ) : CNFGrammar
numNonterminals int
numProductions int
terminals IList
useNull bool
리턴 CNFGrammar

NextCNFNonterminalProduction() 공개 메소드

public NextCNFNonterminalProduction ( int numNonTerminals, Nonterminal lhs = null ) : Production
numNonTerminals int
lhs Nonterminal
리턴 Production

NextCNFTerminalProduction() 공개 메소드

public NextCNFTerminalProduction ( int numNonterminals, IList terminals, Terminal rhs = null ) : Production
numNonterminals int
terminals IList
rhs Terminal
리턴 Production

RandomProduction() 공개 메소드

public RandomProduction ( int maxProductionLength, int numNonterminals, IList terminals, bool useNull = true ) : Production
maxProductionLength int
numNonterminals int
terminals IList
useNull bool
리턴 Production