public bool Compile(string FileName) { TextLoader StrLd = new TextLoader(FileName); string Datas = StrLd.Load(); if (m_tr.ParsingType == Translate.ParseType.LL1) { if (m_tdParser.Init()) { ASTElement astElm = m_tdParser.Parse(Datas); string verlauf = m_tdParser.ParseVerlauf; TextLoader StrSv = new TextLoader("parse.txt"); StrSv.Save(verlauf); string RLtree = ASTElement.Tree2XML(astElm, 0); TextLoader StrSv2 = new TextLoader("parsetree.xml"); StrSv2.Save(RLtree); m_tr.Convert(astElm); } } else if (m_tr.ParsingType == Translate.ParseType.SLR1 || m_tr.ParsingType == Translate.ParseType.LR1 || m_tr.ParsingType == Translate.ParseType.LALR1) { if (m_buParser.Init()) { ASTElement astElm = m_buParser.Parse(Datas); string verlauf = ButtomUpParser.ParseVerlaufArray2String(m_buParser.ParseVerlaufListe); TextLoader StrSv1 = new TextLoader("parse.txt"); StrSv1.Save(verlauf); string RLtree = ASTElement.Tree2XML(astElm, 0); TextLoader StrSv2 = new TextLoader("parsetree.xml"); StrSv2.Save(RLtree); } } return(true); }