Автор работы: Пользователь скрыл имя, 11 Декабря 2011 в 13:26, лабораторная работа
Для корректной работы программного средства необходимо выполнить ряд требований:
а) исходный код программы должен соответствовать правилам написания программ на языке программирования PHP 5.
б) исходный код программы должен содержаться в одном файле.
в) на компьютере должно быть установлено приложение GraphViz, оно необходимо для отображения граф-схемы алгоритма. Приложение устанавливается автоматически.
Цели и задачи
3
Руководство пользователя. Главное меню программы
4
Вкладка “Файл”
4
Вкладка “Обработка”
5
Вкладка “Справка”
5
Панель быстрого доступа
6
Краткие сведения о метрике Мак-Кейба
7
Результаты выполнения программы
8
Список литературы
}
if (!CodeFinish)
switch (Code[curPos])
{
case '(':
int num = 0;
curPos++;
while (!((Code[curPos] == ')') && (num == 0)))
{
if (Code[curPos] == '(')
num++;
if (Code[curPos] == ')')
num--;
if (Code[curPos] == '"')
{
res += '\\';
do
{
}
while (Code[curPos] != '"');
res += '\\';
}
res += Code[curPos];
curPos++;
}
curPos++;
break;
case '$':
res += Code[curPos];
curPos++;
while
(VariableSymbols.Contains(
{
res += Code[curPos];
curPos++;
}
break;
default:
if
(VariableSymbols.Contains(
while
(VariableSymbols.Contains(
{
res += Code[curPos];
curPos++;
}
else
{
res += Code[curPos];
curPos++;
}
break;
}
return res;
}
private void GetNextLine()
{
string Token;
do
Token = GetToken();
while ((Token != ";") && (Token != ""));
if
((Token == ";") || Token == "") curPos--;
}
private void AddIf()
{
string res;
int IfBegin = curPos;
string usl = GetToken();
Graph_.AddBlock(false, "if (" + usl + ")");
Block If = Graph_.curBlock;
IfBegin = curPos;
if ((res = GetToken()) == "{")
GetBlock("}");
else
{
curPos = IfBegin;
GetBlock(";");
}
Graph_.AddBlock(true, "connection");
Block connection = Graph_.curBlock;
int IfEnd = curPos;
Graph_.curBlock = If;
if (GetToken() == "else")
{
if ((res = GetToken()) == "{")
GetBlock("}");
else
{
curPos = IfEnd;
GetBlock(";");
}
Graph_.curBlock.NextBlocks.
Graph_.curBlock = connection;
}
else
{
Graph_.curBlock.NextBlocks.
Graph_.curBlock = connection;
curPos = IfEnd;
}
}
private void AddWhile()
{
int WhileBegin = curPos;
string usl = GetToken();
Graph_.AddBlock(false, "while (" + usl + ")");
WhileBegin = curPos;
Block While = Graph_.curBlock;
if (GetToken() == "{")
GetBlock("}");
else
{
curPos = WhileBegin;
GetBlock(";");
}
Graph_.curBlock.NextBlocks.
Graph_.curBlock = While;
}
private void AddFor()
{
string usl = GetToken();
Graph_.AddBlock(false, "for (" + usl + ")");
int WhileBegin = curPos;
Block While = Graph_.curBlock;
if (GetToken() == "{")
GetBlock("}");
else
{
curPos = WhileBegin;
GetBlock(";");
}
Graph_.curBlock.NextBlocks.
Graph_.curBlock = While;
}
private void AddDo()
{
int DoBegin = curPos;
Graph_.AddBlock(true, "do");
Block Do = Graph_.curBlock;
if (GetToken() == "{")
GetBlock("}");
else
{
curPos = DoBegin;
GetBlock(";");
}
GetToken();
string usl = GetToken();
Graph_.AddBlock(false, "while (" + usl + ")");
Graph_.curBlock.NextBlocks.
}
private void AddFunction()
{
string FuncName = GetToken();
GetToken();
GetToken();
Graph Main = Graph_;
Graph_ = new Graph(FuncName);
GetBlock("}");
Информация о работе Анализ программного средства по метрике Мак-Кейба