Commit 98015b26 authored by Victor Yacovlev's avatar Victor Yacovlev

FS#1152

parent bfba3d05
......@@ -3,23 +3,24 @@
"No one 'case'";"Нет ни одного “при”";"";"";"";"";
"Broken if statement";"Нет “все” для этой конструкции";"";"";"";"";
"Can't %1 %2 %3";"Нельзя “%1 %2 %3”";"";"";"";"";
"Too many ':=' operators";"Много “:=” в одной строке";"";"";"";"";
"The name is used by other algorithm";"Имя занято другим алгоритмом";"";"";"";"";
"Assignment of non-returning algorithm";"У этого алгоритма нет значения";"";"";"";"";
"Can't input string slice";"Нельзя ввести в вырезку";"";"";"";"";
"Use of 'not' for non-boolean value";"“не” вне логического выражения";"";"";"";"";
"Can't pass in-argument as in/out-argument";"Нельзя арг передать в рез или аргрез";"";"";"";"";
"Extra statement";"Строка не на месте";"";"";"";"";
"Wrong table constant";"";"";"";"";"";
"Unpaired ']'";"Нет парной “]”";"";"";"";"";
"Return valus is not a string";"Возвращаемая величина не строка";"";"";"";"";
"What to output?";"Что выводить?";"";"";"";"";
"Garbage in algorithm";"Лишние строки алгоритма";"";"";"";"";
"Assignment to array";"Присваивание массиву";"";"";"";"";
"Extra open brace";"Лишняя {";"";"";"";"";
"Garbage between if..then";"Мусор между “если”..”то”";"";"";"";"";
"Program structure error";"Ошибка структуры программы";"";"";"";"";
"No module name";"Нет имени исполнителя";"";"";"";"";
"Too big real value";"Слишком большое вещественное значение";"";"";"";"";
"No pairing 'begin module'";"Нет парной “исп”";"";"";"";"";
"No such module";"Нет такого исполнителя";"";"";"";"";
"No 'end' after 'then'";"Нет “все” после “то”";"";"";"";"";
"Can't run kumir2-bc to compile this module";"Не могу запустить компилятор для сборки этого испонителя";"";"";"";"";
"No condition after 'if'";"Нет условия для “если”";"";"";"";"";
"The name is used by global variable";"Имя занято глобальной величиной";"";"";"";"";
"Algorith out of module";"";"";"";"";"";
"Extra variable group specifier: %1";"Лишнее описание группы величин";"";"";"";"";
......@@ -31,11 +32,10 @@
"Can't not %1";"Нельзя не %1";"";"";"";"";
"No pairing ']'";"Нет парной “]”";"";"";"";"";
"Can't integer:=charect";"Нельзя “цел := сим”";"";"";"";"";
"Array dimension mismatch";"Несоответствие размерностей таблиц";"";"";"";"";
"Can't charect:=integer";"Нельзя “сим := цел”";"";"";"";"";
"Can't boolean:=real";"Нельзя “лог := вещ”";"";"";"";"";
"No operator before (";"Пропущен оператор";"";"";"";"";
"The name is used by other algorithm";"Имя занято другим алгоритмом";"";"";"";"";
"Too many ':=' operators";"Много “:=” в одной строке";"";"";"";"";
"Variable already declared";"Величина уже описана";"";"";"";"";
"Can't boolean:=integer";"Нельзя “лог := цел”";"";"";"";"";
"Algorhitms can't return array";"Нельзя вернуть таблицу";"";"";"";"";
......@@ -71,7 +71,7 @@
"Extra 'loop'";"Нет парного “кц”";"";"";"";"";
"Can't %1:=string";"";"";"";"";"";
"Recursive declaration of bound";"Рекурсивное объявление границ";"";"";"";"";
"Garbage after %1";"Мусор после %1";"";"";"";"";
"No operator before [";"Нет величины перед [";"";"";"";"";
"No step-value";"Нет значения после “шаг”";"";"";"";"";
"Name not declared";"Имя не объявлено";"";"";"";"";
"No paired 'end module'";"Нет парного “кон_исп”";"";"";"";"";
......@@ -81,7 +81,7 @@
"Variable name is empty";"Где имя величины?";"";"";"";"";
"Assignment to in- argument";"Нельзя присвоить аргументу";"";"";"";"";
"No coma before type";"Нет запятой перед объявлением";"";"";"";"";
"No loop 'to'";"Нет “до”";"";"";"";"";
"Extra indeces";"Лишние индексы";"";"";"";"";
"Right array bound is not integer";"Правая граница таблицы не целая";"";"";"";"";
"No arguments";"Нет аргументов";"";"";"";"";
"No name before [";"Перед [ должно быть имя";"";"";"";"";
......@@ -91,7 +91,7 @@
"Can't input algorithm in- argument";"Нельзя ввести в аргумент";"";"";"";"";
"Then-value not specified";"Нет значения после “до”";"";"";"";"";
"Extra 'module'";"Для “исп” нет “кон_исп”";"";"";"";"";
"No 'loop' before 'times'";"Перед “раз” нет “нц”";"";"";"";"";
"Array dimension must not be > 3";"Таблицы не бывают размерности > 3";"";"";"";"";
"Extra ','";"Лишняя запятая";"";"";"";"";
"Garbage after 'switch' statement";"Мусор после “выбор”";"";"";"";"";
"Can't input constant";"Нельзя ввести в константу";"";"";"";"";
......@@ -101,12 +101,13 @@
"Must be Kumir program file name";"Нет имени файла исполнителя";"";"";"";"";
"Not integer to-value";"Величина не целая";"";"";"";"";
"Input format must be a string";"";"";"";"";"";
"Unpaired ')'";"Непарная скобка";"";"";"";"";
"Must be a file name or empty string";"Должно быть имя файла или пустая строка";"";"";"";"";
"Can't %1:=%2";"Нельзя “%1 := %2”";"";"";"";"";
"No 'begin' after header";"После “алг” нет “нач”";"";"";"";"";
"This algorhitm is broken";"Алгоритм с ошибкой";"";"";"";"";
"No operand before non-unary operator";"";"";"";"";"";
"Can't run kumir2-bc to compile this module";"Не могу запустить компилятор для сборки этого испонителя";"";"";"";"";
"No such module";"Нет такого исполнителя";"";"";"";"";
"Extra 'switch'";"Нет ”все” после “выбор”";"";"";"";"";
"Error contains unpaired quote";"Непарная кавычка";"";"";"";"";
"Constant type mismatch";"Несоответствие типа константы";"";"";"";"";
......@@ -120,18 +121,18 @@
"Garbage at the end of statement";"Мусор в конце выражения";"";"";"";"";
"No 'then' after 'if'";"Где “то” после условия?";"";"";"";"";
"Assignment to complex expression";"Нельзя присвоить выражению";"";"";"";"";
"Can't output value of type %1";"Нельзя вывести значение типа %1";"";"";"";"";
"'end' instead of 'endloop'";"“кон” вместо “кц”";"";"";"";"";
"Can't real:=string";"Нельзя “вещ := лит”";"";"";"";"";
"Wrong hex constant";"Плохая 16-ричная константа";"";"";"";"";
"Constant instead of name";"Здесь должно быть имя";"";"";"";"";
"':=' or '=' ?";"“:=” или “=” ?";"";"";"";"";
"Unpaired quote";"Непарная кавычка";"";"";"";"";
"Array name not specified before '['";"Перед “[“ должно быть имя таблицы";"";"";"";"";
"No algorithm name";"Не указано имя алгоритма";"";"";"";"";
"Can't input complex expression";"Нельзя ввести в выражение";"";"";"";"";
"Algorhitm not found";"Нет такого алгоритма";"";"";"";"";
"Not a constant value";"Это не константа";"";"";"";"";
"Can't input function";"Нельзя ввести в алгоритм";"";"";"";"";
"Algorithm out of module";"Алгоритм вне исполнителя";"";"";"";"";
"No operator before [";"Нет величины перед [";"";"";"";"";
"Garbage after %1";"Мусор после %1";"";"";"";"";
"Can't integer:=boolean";"Нельзя “цел := лог”";"";"";"";"";
"Extra type";"Лишнее объявление типа";"";"";"";"";
"Return value is not indexable";"У знач не может быть индексов";"";"";"";"";
......@@ -139,20 +140,19 @@
"Extra docstring";"Здесь не должно быть строк описания";"";"";"";"";
"Extra brackets for algorithm without arguments";"Нет аргументов – не нужны скобки";"";"";"";"";
"Assignment to function";"Нельзя присвоить алгоритму";"";"";"";"";
"Constant instead of name";"Здесь должно быть имя";"";"";"";"";
"Unmatched array dimensions";"Несоответствие размерностей таблиц";"";"";"";"";
"Wrong hex constant";"Плохая 16-ричная константа";"";"";"";"";
"Index is not integer";"Индекс – не целое число";"";"";"";"";
"Operator in name";"Имя содержит оператор";"";"";"";"";
"Times value not specified";"Сколько раз?";"";"";"";"";
"Table dimension > 3";"";"";"";"";"";
"Garbage afrer module name";"Мусор после имени исполнителя";"";"";"";"";
"No for-loop variable";"Нет величины цикла";"";"";"";"";
"Left array bound is not integer";"Левая граница – не целое";"";"";"";"";
"No condition after 'case'";"Нет условия после “при”";"";"";"";"";
"Incompatible types";"Плохой тип параметра";"";"";"";"";
"'end_module' instead of 'end'";"“кон_исп” вместо “кон”";"";"";"";"";
"Array dimension mismatch";"Несоответствие размерностей таблиц";"";"";"";"";
"Initial value is empty";"Начальное значение не задано";"";"";"";"";
"'%1' in algorithm";"“%1” внутри алгоритма";"";"";"";"";
"Extra statement";"Строка не на месте";"";"";"";"";
"Garbage between if..then";"Мусор между “если”..”то”";"";"";"";"";
"Can't pass in-argument as in/out-argument";"Нельзя арг передать в рез или аргрез";"";"";"";"";
"Extra open brace";"Лишняя {";"";"";"";"";
"No such file";"Нет такого исполнителя рядом с программой";"";"";"";"";
"No loop 'to' value";"Нет “до” после “от”";"";"";"";"";
"Extra format";"";"";"";"";"";
......@@ -160,16 +160,16 @@
"Extra '['";"Лишняя “[“";"";"";"";"";
"Constant can not be a name";"Константа – это не имя";"";"";"";"";
"It is a garbage";"Это лишнее";"";"";"";"";
"Not integer for-loop variable";"Величина не целая";"";"";"";"";
"No condition after 'if'";"Нет условия для “если”";"";"";"";"";
"Extra format parameter";"Лишний параметр вывода";"";"";"";"";
"No 'end' after 'then'";"Нет “все” после “то”";"";"";"";"";
"Slice of string array, but not string";"Вырезка не из строки, а из таблицы";"";"";"";"";
"Void argument";"Пустой аргумент";"";"";"";"";
"What to input?";"Куда вводить?";"";"";"";"";
"Algorhitm not found";"Нет такого алгоритма";"";"";"";"";
"Can't input complex expression";"Нельзя ввести в выражение";"";"";"";"";
"Left array bound not specified";"Не указана левая граница таблицы";"";"";"";"";
"Array input must not be in a list";"";"";"";"";"";
"Index is not integer";"Индекс – не целое число";"";"";"";"";
"Unpaired ')'";"Непарная скобка";"";"";"";"";
"Unmatched array dimensions";"Несоответствие размерностей таблиц";"";"";"";"";
"Table dimension > 3";"";"";"";"";"";
"Extra variable group out-specifier";"Лишний “рез”";"";"";"";"";
"No 'from'";"Нет “от”";"";"";"";"";
"No 'loop' before 'while'";"Перед “пока” нет “нц”";"";"";"";"";
......@@ -188,17 +188,18 @@
"Extra 'begin'";"Нет “кон” после “нач”";"";"";"";"";
"Unpaired }";"Непарная }";"";"";"";"";
"Extra variable group inout-specifier";"Лишний “аргрез”";"";"";"";"";
"Can't -%1";"Нельзя -%1";"";"";"";"";
"Unpaired {";"Непарная {";"";"";"";"";
"Extra indeces in slice";"Лишние индексы в вырезке";"";"";"";"";
"Can't integer:=%1";"";"";"";"";"";
"Unpaired '['";"Не парная “[“";"";"";"";"";
"No pairing '('";"Нет парной “(“";"";"";"";"";
"Can't pass this expression as in/out-argumeny";"Не величина в аргрез-параметре";"";"";"";"";
"Unpaired ]";"Непарная ]";"";"";"";"";
"Must be a scalar constant";"Нельзя присвоить список значений";"";"";"";"";
"What to input from file?";"Куда вводить из файла?";"";"";"";"";
"Unpaired [";"Непарная [";"";"";"";"";
"Extra )";"Лишняя )";"";"";"";"";
"Wrong E-real number";"Ошибка в E-записи числа";"";"";"";"";
"'end_module' instead of 'end'";"“кон_исп” вместо “кон”";"";"";"";"";
"Extra 'end'";"Лишний “кон”";"";"";"";"";
"Right array bound is empty";"Нет правой границы таблицы";"";"";"";"";
"Unpaired (";"Непарная (";"";"";"";"";
......@@ -209,29 +210,29 @@
"Not enought algorithm arguments";"Мало аргументов";"";"";"";"";
"Can't charect:=boolean";"Нельзя “сим := лог”";"";"";"";"";
"Algorhitm header in algorhitm body";"Вложенное описание алгоритма";"";"";"";"";
"Array dimension must not be > 3";"Таблицы не бывают размерности > 3";"";"";"";"";
"No 'loop' before 'for'";"Перед “для” нет “нц”";"";"";"";"";
"No 'loop' before 'times'";"Перед “раз” нет “нц”";"";"";"";"";
"Wrong E-real number";"Ошибка в E-записи числа";"";"";"";"";
"Extra 'if'";"Нет “то..все” после “если”";"";"";"";"";
"Can't %1:=real";"";"";"";"";"";
"No condition between 'case' and colon";"Нет условия между “при” и “:”";"";"";"";"";
"Extra }";"Лишняя }";"";"";"";"";
"No then before else";"Нет “то” перед “иначе”";"";"";"";"";
"Assignment of array";"Нельзя присваивать таблицы";"";"";"";"";
"No loop 'from'";"Нет “от”";"";"";"";"";
"Can't pass in-argument as out-argument";"Нельзя арг передать в рез или аргрез";"";"";"";"";
"Extra 'not'";"Лишнее “не”";"";"";"";"";
"Extra {";"Лишняя {";"";"";"";"";
"'end' instead of 'endloop'";"“кон” вместо “кц”";"";"";"";"";
"Can't output value of type %1";"Нельзя вывести значение типа %1";"";"";"";"";
"Keyword in name";"Ключевое слово в имени";"";"";"";"";
"Can't input an array";"";"";"";"";"";
"What to output to file?";"Что выводить в файл?";"";"";"";"";
"No 'case' after 'switch'";"Нет “при:” после “выбор”";"";"";"";"";
"Can't %1:=charect";"";"";"";"";"";
"= instead of :=";"";"";"";"";"";
"Garbage afrer module name";"Мусор после имени исполнителя";"";"";"";"";
"Times value not specified";"Сколько раз?";"";"";"";"";
"Array element in array bound";"Элемент таблицы в границе";"";"";"";"";
"Can't string:=%1";"";"";"";"";"";
"First unnamed algorithm should not return anything";"Алгоритм без имени ничего не возвращает";"";"";"";"";
"Extra format parameter";"Лишний параметр вывода";"";"";"";"";
"Not integer for-loop variable";"Величина не целая";"";"";"";"";
"No left array bound";"Нет левой границы таблицы";"";"";"";"";
"Integer constant too big";"Слишком большое целое число";"";"";"";"";
"Can't input part of string";"Нельзя ввести часть строки";"";"";"";"";
......@@ -240,15 +241,15 @@
"Can't boolean:=charect";"Нельзя “лог := сим”";"";"";"";"";
"Can't input array";"Нельзя ввести в таблицу";"";"";"";"";
"Here must be \input\"" or \""output\""""";"";"";"";"";"";
"No condition after 'loop while'";"Нет условия после “нц пока”";"";"";"";"";
"Can't string:=real";"Нельзя “лит := вещ”";"";"";"";"";
"No 'from'..'to'.. after variable";"Нет “от”..”до”.. после величины";"";"";"";"";
"Forgotten operator after bracket";"Перед выражением пропущен оператор";"";"";"";"";
"Can't -%1";"Нельзя -%1";"";"";"";"";
"Can't pass in-argument as out-argument";"Нельзя арг передать в рез или аргрез";"";"";"";"";
"No 'loop' before 'for'";"Перед “для” нет “нц”";"";"";"";"";
"No loop 'from'";"Нет “от”";"";"";"";"";
"Condition after '%1' not boolean";"Условие после “%1” не логическое";"";"";"";"";
"Can't integer:=real";"Нельзя “цел := вещ”";"";"";"";"";
"Array required here";"Индексы не нужны";"";"";"";"";
"Garbage between alg..begin";"Мусор между “алг”..”нач”";"";"";"";"";
"No condition after 'end if'";"Нет условия для “кц при”";"";"";"";"";
"Assignment of void";"Нельзя присвоить пустое значение";"";"";"";"";
"Loop type not specified";"Не указан тип цикла";"";"";"";"";
......@@ -270,7 +271,7 @@
"Can't string:=boolean";"Нельзя “лит := лог”";"";"";"";"";
"No 'from' before 'to'";"Нет “от”.. перед “до”";"";"";"";"";
"Name starts with digit";"Имя не может начинаться с цифры";"";"";"";"";
"Extra indeces";"Лишние индексы";"";"";"";"";
"No loop 'to'";"Нет “до”";"";"";"";"";
"No coma before %1";"Нет запятой перед %1";"";"";"";"";
"Misplaced import";"“использовать” не в начале";"";"";"";"";
"No loop variable";"Не указана величина цикла";"";"";"";"";
......@@ -300,11 +301,11 @@
"Extra ]";"Лишняя ]";"";"";"";"";
"No expressions after '%1'";"Нет величин после “%1”";"";"";"";"";
"Not integer times-value";"Величина не целая";"";"";"";"";
"No pairing '('";"Нет парной “(“";"";"";"";"";
"Assignment of non-returning algorithm";"У этого алгоритма нет значения";"";"";"";"";
"Unpaired '['";"Не парная “[“";"";"";"";"";
"Garbage between alg..begin";"Мусор между “алг”..”нач”";"";"";"";"";
"Bad symbol in name";"Имя содержит недопустимый символ";"";"";"";"";
"What to assign?";"Что назначать?";"";"";"";"";
"No condition after 'loop while'";"Нет условия после “нц пока”";"";"";"";"";
"Algorithm can't be a loop variable";"Алгоритм не может быть величиной цикла";"";"";"";"";
"'%1' can't be part of name";"Константа в имени";"";"";"";"";
"Extra coma";"Лишняя запятая";"";"";"";"";
"Can't input constant value";"Нельзя ввести в константу";"";"";"";"";
......
......@@ -1203,6 +1203,7 @@ void SyntaxAnalizerPrivate::parseLoopBegin(int str)
stepLexem->error = _("Step-value is empty");
}
QString name;
AST::Algorhitm * dummyAlg = 0;
for (int i=0; i<forr.size(); i++) {
if (i>0) name += " "; name += forr[i]->data;
}
......@@ -1211,6 +1212,10 @@ void SyntaxAnalizerPrivate::parseLoopBegin(int str)
}
else if (findGlobalVariable(name, st.mod, st.statement->loop.forVariable)) {
}
else if (findAlgorhitm(name, st.mod, dummyAlg)) {
foreach (Lexem *l, forr) l->error = _("Algorithm can't be a loop variable");
return;
}
else if (forr.size()==1 && forr[0]->type & LxTypeConstant) {
foreach (Lexem *l, forr) l->error = _("Constant for-loop variable");
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment