Exemple #1
0
        // Возвращает переменную, ещё не использованную в тексте программы
        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);
        }
Exemple #3
0
 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));
 }