// Возвращает переменную, ещё не использованную в тексте программы public static string GetNewVariable() { lastVariableNumber++; string varName = "R" + lastVariableNumber.ToString(); while (ServiceTablesContainer.GetInstance().GetIdentifiersTable().Keys.Contains(varName)) { varName = "R" + ++lastVariableNumber; } return(varName); }
// Проверяет, является ли лексема с указанным кодом операндом private bool IsOperand(string _lexemeCode) { if (_lexemeCode[0] == 'I' || _lexemeCode[0] == 'N' || _lexemeCode[0] == 'C' || ServiceTablesContainer.GetInstance().GetLexemeByCode(_lexemeCode) == "true" || ServiceTablesContainer.GetInstance().GetLexemeByCode(_lexemeCode) == "false") { return(true); } return(false); }
private bool IsOperator(string _lexeme) { return(ServiceTablesContainer.GetInstance().GetOperatorsTable().ContainsKey(_lexeme)); }
public RPNConverter() { functionsDictionary = new Dictionary <int, int>(); operatorsStack = new OperatorsStack(); serviceTablesContainer = ServiceTablesContainer.GetInstance(); }
private bool IsIdentifier(string _element) { return(ServiceTablesContainer.GetInstance().GetIdentifiersTable().ContainsKey(_element)); }
private bool IsConstant(string _element) { return(ServiceTablesContainer.GetInstance().GetNumConstantsTable().ContainsKey(_element) || ServiceTablesContainer.GetInstance().GetStringConstantsTable().ContainsKey(_element)); }