Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool syntaxBlock(string ** list, int & n)//синтаксический блок
- {
- string status = "нач";
- int i = 0;
- while (true)
- {
- if (list[i][1] == "пробел") {
- i++;
- continue;
- }
- if (status == "нач")
- {
- if (list[i][1] == "кл_слово")
- {
- status = "клслово";
- i++;
- continue;
- }
- else
- {
- return false;
- break;
- }
- }
- if (status == "клслово")
- {
- if (list[i][1] == "пробел")
- i++;
- if (list[i][1] == "идент")
- {
- status = "идент";
- i++;
- continue;
- }
- else
- {
- return false;
- break;
- }
- }
- if (status == "идент")
- {
- if (list[i][1] == "пробел")
- i++;
- if (list[i][1] == "равно")
- {
- status = "равно";
- i++;
- continue;
- }
- else
- {
- return false;
- break;
- }
- }
- if (status == "равно")
- {
- if (list[i][1] == "знак")
- i++;
- if (list[i][1] == "пробел")
- i++;
- if (list[i][1] == "число")
- {
- status = "число";
- i++;
- continue;
- }
- else
- {
- return false;
- break;
- }
- }
- if (status == "число")
- {
- if (list[i][1] == "пробел")
- i++;
- if (list[i][1] == "доллар")
- i++;
- if (list[i][1] == "тчкзпт")
- {
- status = "вых";
- i++;
- continue;
- }
- else
- {
- return false;
- break;
- }
- }
- if (status == "вых")
- return true;
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement