def testSabeQuandoNaoDerivaEpsilon(self):
   self.assertEqual(set(), construirGLCExpAritmeticaComRecEsquerdaDireta().obterNaoTerminaisQueDerivamEpsilon())
   self.assertEqual(set(), construirGLCComRecEsquerdaIndireta().obterNaoTerminaisQueDerivamEpsilon())
   self.assertEqual(set(), construirGLCQueNaoProduzEpsilon().obterNaoTerminaisQueDerivamEpsilon())
 def testSabeSePossuiRecursaoAEsquerdaIndireta(self):
   self.assertTrue(construirGLCComRecEsquerdaIndireta().possuiRecursaoAEsquerda())
Beispiel #3
0
 def testDadaUmaGLCComRecursaoAEsquerdaIndiretaPodeRetornarUmaGLCSemRecursaoAEsquerda(self):
   glc_nok = construirGLCComRecEsquerdaIndireta()
   self.assertTrue(glc_nok.possuiRecursaoAEsquerda())
   glc_nok = util.remover_recursao_esquerda_glc(glc_nok)
   self.assertFalse(glc_nok.possuiRecursaoAEsquerda())