def setUp(self): self.grammar = eingabe.CFG() self.grammar.rules = { "A": {"aBcD", "a"}, "B": {"aBcD", "a"}, "C": {"aBcD", "a"}, "D": {"aBcD", "a"}, "E": {"aBcD", "a"}, "F": {"aBcD", "a"}, "G": {"aBcD", "a"}, "H": {"aBcD", "a"}, "I": {"aBcD", "a"}, "J": {"aBcD", "a"}, "K": {"aBcD", "a"}, "L": {"aBcD", "a"}, "M": {"aBcD", "a"}, "N": {"aBcD", "a"}, "O": {"aBcD", "a"}, "P": {"aBcD", "a"}, "Q": {"aBcD", "a"}, "R": {"aBcD", "a"}, "S": {"aBcD", "a"}, "T": {"aBcD", "a"}, "U": {"aBcD", "a"}, "V": {"aBcD", "a"}, "W": {"aBcD", "a"}, "X": {"aBcD", "a"}, "Y": {"aBcD", "a"}, "Z": {"aBcD", "a"} } self.grammar.alphabet = {'a', 'c'} self.grammar.variables = set(key for key in self.grammar.rules) self.grammar.start = 'S' print("grammar:") print_grammar(self.grammar.rules)
def setUp(self) -> None: self.grammar = eingabe.CFG() self.grammar.rules = { 'S': {'ASA', 'aB'}, 'A': {'B', 'S'}, 'B': {'b', r'\E'} } self.grammar.alphabet = {'a', 'b'} self.grammar.variables = set(key for key in self.grammar.rules) self.grammar.start = 'S' print_grammar(self.grammar.rules)
def setUp(self): self.grammar = eingabe.CFG() self.grammar.rules = { 'S': {'TU'}, 'T': {'aTb', r'\E'}, 'U': {'R'}, 'R': {'Ucc', r'\E'} } self.grammar.alphabet = {'a', 'b', 'c'} self.grammar.variables = set(key for key in self.grammar.rules) self.grammar.start = 'S' print_grammar(self.grammar.rules)
def setUp(self): self.grammar = eingabe.CFG() self.grammar.rules = { 'S': {'aaA'}, 'A': {'BAB', 'B', r'\E'}, 'B': {'bb'} } self.grammar.alphabet = {'a', 'b'} self.grammar.variables = set(key for key in self.grammar.rules) self.grammar.start = 'S' print("grammar:") print_grammar(self.grammar.rules)
def setUp(self): self.grammar = eingabe.CFG() self.grammar.rules = { 'S': {'LR', r'\E'}, 'L': {'ALLA', 'BLLB', r'\E'}, 'R': {'ARA', 'BRB', r'\E'}, 'A': {'a'}, 'B': {'b'} } self.grammar.alphabet = {'a', 'b'} self.grammar.variables = set(key for key in self.grammar.rules) self.grammar.start = 'S' print_grammar(self.grammar.rules)
import subprocess import eingabe import cyk import tabular import cnf import cnf_test import copy def run_pdflatex(file_name='CYK_Tableau.tex', path='.'): return subprocess.call(['pdflatex', file_name], cwd=path) grammar = eingabe.CFG() if input("Do you want to import your Grammar? [y/N] ") in ['Y', 'y']: eingabe.CFG.file_input(grammar) else: eingabe.CFG.new_grammar(grammar) word = eingabe.new_word() saveGrammar = copy.deepcopy(grammar.rules) cnf_test.print_grammar(grammar.rules) grammar.rules = cnf.cnf(grammar) print("cnf done") cnf_test.print_grammar(grammar.rules) table = cyk.cyk(grammar, word) tableau = tabular.to_latex(table, word, grammar.start, grammar.rules, saveGrammar) file = open(file="CYK_Tableau.tex", mode="w") file.write(tableau) file.close() print('\nwritten in CYK_Tableau.tex') run_pdflatex()