Merge pull request #173 from IoTManagerProject/revert-172-ver4dev

Revert "Исправляем ошибку обхода по строке сценария"
This commit is contained in:
2022-08-28 20:33:52 +03:00
committed by GitHub

View File

@@ -587,15 +587,12 @@ class BracketsExprAST : public ExprAST {
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
char IoTScenario::getLastChar() { char IoTScenario::getLastChar() {
char tmp = strFromFile->charAt(strIterator);
strIterator++; strIterator++;
return tmp; return strFromFile->charAt(strIterator - 1);
} }
/// gettok - Возвращает следующий токен из стандартного потока ввода. /// gettok - Возвращает следующий токен из стандартного потока ввода.
int IoTScenario::gettok() { int IoTScenario::gettok() {
if (strIterator == strFromFile->length()) return tok_eof;
// Пропускаем пробелы. // Пропускаем пробелы.
while (isspace(LastChar)) while (isspace(LastChar))
LastChar = getLastChar(); LastChar = getLastChar();
@@ -628,7 +625,9 @@ int IoTScenario::gettok() {
if (LastChar == '#') { if (LastChar == '#') {
// Комментарий до конца строки // Комментарий до конца строки
do LastChar = getLastChar(); do LastChar = getLastChar();
while (LastChar != '\n' && LastChar != '\r'); while (LastChar != EOF && LastChar != '\n' && LastChar != '\r');
if (LastChar != EOF)
return gettok(); return gettok();
} }
@@ -941,10 +940,10 @@ void IoTScenario::loadScenario(String fileName) { // посимвольно с
if (strFromFile->length()) { if (strFromFile->length()) {
getNextToken(); getNextToken();
while (strIterator == strFromFile->length()) { while (strIterator < strFromFile->length() - 1) {
Serial.printf("-%c", LastChar); // Serial.printf("-%c", LastChar);
switch (CurTok) { switch (CurTok) {
case tok_eof: break; // case tok_eof: return;
// case ';': getNextToken(); break; // игнорируем верхнеуровневые точки с запятой. // case ';': getNextToken(); break; // игнорируем верхнеуровневые точки с запятой.
case tok_if: { case tok_if: {
String IDNames = ""; // накопитель встречающихся идентификаторов в условии String IDNames = ""; // накопитель встречающихся идентификаторов в условии