Синтез распознающего автомата

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

;>meaningsTable->setColumnCount(1);">= "";>comboSetState->clear();>comboBaseState->clear();>meaningsTable->clear();>meaningsTable->setRowCount(stateSet.count());>meaningsTable->setColumnCount(1);

endStateList=endStateSet.toList(); stateList = stateSet.toList();

= "";(endStateList);(int i = 0; i < endStateList.length(); i++)

lineEndState->setText(str);">{+= endStateList.at(i);>lineEndState->setText(str);

}

= "";(allowedStateList);(int i = 0; i < allowedStateList.length(); i++)

lineAllowedState->setText(str);">{+= allowedStateList.at(i);>lineAllowedState->setText(str);

}

= "";(stateList);(int i = 0; i < stateList.length(); i++)

comboSetState->addItem(stateList.at(i));>comboBaseState->addItem(stateList.at(i));>meaningsTable->setVerticalHeaderItem(i,new">{+= stateList.at(i);>comboSetState->addItem(stateList.at(i));>comboBaseState->addItem(stateList.at(i));>meaningsTable->setVerticalHeaderItem(i, new

meaningsTable->setItem(i,0,newQTableWidgetItem);asd;>>asd;>meaningsTable->item(i,0)->setText(asd);">QTableWidgetItem(stateList.at(i)));>meaningsTable->setItem(i, 0, new QTableWidgetItem);asd;>> asd;>meaningsTable->item(i, 0)->setText(asd);

}>comboBaseState->setCurrentIndex(posa);>lineStateSymbols->setText(str);

= "";>comboWriteSymbol->clear();>comboSpaceSymbol->clear();

symbolsList=symbolsSet.toList();(symbolsList);(inti=0;i symbolsList = symbolsSet.toList();(symbolsList);(int i = 0; i < symbolsList.length(); i++)

comboWriteSymbol->addItem(symbolsList.at(i));>comboSpaceSymbol->addItem(symbolsList.at(i));">{+= symbolsList.at(i);>comboWriteSymbol->addItem(symbolsList.at(i));>comboSpaceSymbol->addItem(symbolsList.at(i));

}>comboSpaceSymbol->setCurrentIndex(posc);>lineInputSymbols->setText(str);= true;>resetState();

}

MainWindow::on_save_triggered()

{fileName = QFileDialog::getSaveFileName(this,

trUtf8("Сохранить таблицу"),

"",("Таблицы правил (*.tbl)"));file( fileName );( !file.open( QIODevice::WriteOnly ) );

stream( &file );.setVersion( QDataStream::Qt_4_2 );

rows = ui->ruleTable->rowCount();columns = ui->ruleTable->columnCount();currentIndex() << ui-

>comboSpaceSymbol->currentIndex();<< endStateSet << allowedStateSet;str;(int i = -1; i < rows; i++)(int j = -1; j < columns; j++)

{(i > -1 && j > -1)

{= ui->ruleTable->item(i, j)->text();<< str;

}

{(i == -1 && j > -1)

{= ui->ruleTable->horizontalHeaderItem(j)->text();<< str;

}(j == -1 && i > -1)

{= ui->ruleTable->verticalHeaderItem(i)->text();<< str;

}(i == -1 && j == -1)

{= "";<< str;

}

}

}

(int i = 0; i text();

}

MainWindow::on_buttonSetString_clicked()

{.clear();(int i = 0; i text().length(); i++)

lineInputString->text().at(i)))">{(symbolsSet.contains(ui->lineInputString->text().at(i)))

{.append(ui->lineInputString->text().at(i));

}

}>resetState();>widget->setResultText(QString(""));stateChanged();

}

MainWindow::on_ruleTable_cellPressed(int row, int column)

{= row;= column;inSymbol = ui->ruleTable->horizontalHeaderItem(column)->text().at(0);curState = ui->ruleTable->verticalHeaderItem(row)->text().at(0);ruleSym = ui->ruleTable->item(row, column)->text().at(0);ruleState = ui->ruleTable->item(row, column)->text().at(2);>currentInputSymbol->setText(inSymbol);>currentMachineState->setText(curState);

(int i = 0; i setCurrentIndex(i);

(int i = 0; i setCurrentIndex(i);

(ui->ruleTable->item(row, column)->text().at(1) == QString("L").at(0))

{>comboMoveTo->setCurrentIndex(0);

}

{(ui->ruleTable->item(row, column)->text().at(1) == QString("R").at(0))>comboMoveTo->setCurrentIndex(2);>comboMoveTo->setCurrentIndex(1);

}

}

MainWindow::setRules()

{(ui->comboWriteSymbol->count() != 0 && ui->comboSetState->count() != 0)

{result = " ";[0] = ui->comboWriteSymbol->itemText(ui->comboWriteSymbol->currentIndex()).at(0);[2] = ui->comboSetState->itemText(ui->comboSetState->currentIndex()).at(0);(ui->comboMoveTo->currentIndex() == 0)[1] = QString("L").at(0);if (ui->comboMoveTo->currentIndex() == 2)[1] = QString("R").at(0);[1] = QString("H").at(0);

>ruleTable->item(currentX, currentY)->setText(result);

}

}

MainWindow::on_comboWriteSymbol_currentIndexChanged(int index)

{

}

MainWindow::on_comboMoveTo_currentIndexChanged(int index)

{

}

MainWindow::on_comboSetState_currentIndexChanged(int index)

{

}

MainWindow::on_comboSpaceSymbol_currentIndexChanged(int index)

{(index != -1)>widget->setSpaceSymbol(ui->comboSpaceSymbol->itemText(ui->comboSpaceSymbol->currentIndex()).at(0));

}

MainWindow::on_buttonStep_clicked()

{>step();

}

MainWindow::on_buttonStartStop_clicked()

{(ready)

{(running)

{= false;.stop();>buttonStartStop->setText(trUtf8("Старт"));

}

{= true;.start();>buttonStartStop->setText(trUtf8("Стоп"));

}

}

}

MainWindow::on_horizontalSlider_sliderMoved(int position)

{.setInterval(position);

}MainWindow::on_buttonReset_clicked()

{= 0;= 0;>widget->setResultText(QString(""));= ui->comboBaseState->itemText(ui->comboBaseState->currentIndex()).at(0);stateChanged();

}

MainWindow::on_lineEndState_editingFinished()

{.clear();str;(int i = 0; i text().length(); i++)

lineEndState->text().at(i)))">{(stateSet.contains(ui->lineEndState->text().at(i)))

{+= ui->lineEndState->text().at(i);+= ui->lineEndState->text().at(i);

}

}>lineEndState->setText(str);

}

MainWindow::isAllowedState(const QChar c)

{allowedStateSet.contains(c);

}

MainWindow::getMeaningByState(const QChar c)

{(int i = 0; i rowCount(); i++)

{(ui->meaningsTable->verticalHeaderItem(i)->text().at(0) == c)

{str = ui->meaningsTable->item(i, 0)->text();str;

}

}

}

MainWindow::on_lineAllowedState_editingFinished()

{.clear();(int i = 0; i text().length(); i++)

lineAllowedState->text().at(i)))">{(stateSet.contains(ui->lineAllowedState->text().at(i)))

{+= ui->lineAllowedState->text().at(i);

}

}

}

MainWindow::on_pushButton_clicked()

{>setRules();

}

MainWindow::on_about_triggered()

setIconPixmap(QPixmap::fromImage(QImage(":/images/about.png")));>setText(QString(trUtf8(":\n4-78-102012")));>setWindowTitle(QString(trUtf8("")));>show();">{*box = new QMessageBox;>setIconPixmap(QPixmap::fromImage(QImage(":/images/about.png")));>setText(QString(trUtf8("Автор: Протозанов Евгений\nИжГТУ 4-78-10 2012")));>setWindowTitle(QString(trUtf8("Машина Тьюринга")));>show();

}

MainWindow::on_about_Qt_triggered()

{::aboutQt(this, trUtf8("О Qt"));

}

 

4.Реализация visualization.cpp

 

#include

#include

#include

#include

#include "visualisation.h"

::visualisation(QWidget *parent) :(parent)

{

}

visualisation::paintEvent(QPaintEvent *)

{spacerX = (this->width() - 620)/2;spacerY = (this->height() - 100)/2;*painter = new QPainter();>begin(this);>save();>setRenderHint(QPainter::Antialiasing);>setFont(QFont("", 14));

//=======================================mid = 15*floor(*fakePos/15);real_mid = *real