public static ILanguageExpression Translate(GMacExpressionBasicGenerator langExprGen, ParseTreeNode node) { var context = langExprGen.Context; context.PushState(node); var translator = new GMacExpressionAtomicFunctionGenerator();// new GMacExpressionAtomicFunctionGenerator(langExprGen); translator.SetContext(langExprGen); translator.Translate(); context.PopState(); var result = translator._generatedExpression; //MasterPool.Release(translator); return(result); }
public static ILanguageExpression Translate(GMacSymbolTranslatorContext context, ParseTreeNode node) { context.PushState(node); var translator = new GMacExpressionGenerator();//new GMacExpressionGenerator(context); var basicExprGen = new GMacExpressionBasicGenerator(); basicExprGen.SetContext(context); translator.SetContext(basicExprGen); translator.Translate(); context.PopState(); var result = translator._generatedExpression; //MasterPool.Release(basicExprGen); //MasterPool.Release(translator); return(result); }
//public override void ResetOnAcquire() //{ // base.ResetOnAcquire(); // _generatedExpression = null; // BasicExpressionGenerator = null; //} private void SetContext(GMacExpressionBasicGenerator basicExprGen) { SetContext(basicExprGen.Context); BasicExpressionGenerator = basicExprGen; }