private static void PrintArvoreSintatica(List <Token.Tok> lt, StreamWriter srX) { //######## PRINT DA ARVORE DE SINTAXE ############## //ArvoreSintatica arvore = new ArvoreSintatica(); SintaticoX sX = new SintaticoX(); sX.PredictiveParser(lt); srX.WriteLine("Imprimindo Arvores de Sintaxes no formato raiz-esquerda-direita"); int count = 0; foreach (string exp in sX.listExpa) { if ((exp.Contains("*") || exp.Contains("+") || exp.Contains("-") || exp.Contains("/") || exp.Contains("%")) && exp.Length > 2) { count++; ArvoreSintatica arvore = new ArvoreSintatica(); arvore.parseRegex(arvore.initialNodo(exp)); string result = arvore.listTree(); srX.WriteLine("Arvore de Sintaxe " + count + ":"); srX.WriteLine(result); srX.WriteLine(); } } //######## FIM PRINT DA ARVORE DE SINTAXE ############## }
public ExpressaoRegular(string text) { arvore = new ArvoreSintatica(); regex = text; }