private void cm_doA2() { cLexem _lexem = cf_lisTokens[cf_lisTokens.Count - 2].cf_Value as cLexem; cf_leftLex.cm_AddChildLexem(_lexem as cLexem, true); cf_firstLex = _lexem; }
private void cm_doA2() { cLexem _lexem = cf_lisTokens[cf_lisTokens.Count - 2].cf_Value as cLexem; if (!cf_leftLex.cm_AddChildLexem(null, _lexem as cLexem)) { throw new cNotLL1Exception(_lexem, cf_leftLex, "Несколько продукций для " + cf_leftLex + " имеют направляющий символ " + _lexem); } cf_firstLex = _lexem; }
public static cLexem cm_ExtendGrammatic(cLexem a_root) { cLexem _newRoot = cLexem.cm_GetLexem(" E'"); _newRoot.cf_type = eLexType.NonTerminal; _newRoot.cm_AddChildLexem(a_root, true); //_newRoot.cm_AddChildLexem(cLexem.cc_StopLexem, false); return(_newRoot); }