2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Составить конечный автомат
Сообщение20.06.2013, 11:35 
Здравствуйте, не могу понять как составить конечный автомат. Помогите разобраться. И так дано:

Язык L соответствует описанию переменных на языке C:

Код:
<тип и/или модификатор>  <идентификатор><размерности массива> [, …] [; …]


Набор допустимых типов – int, char, float, double, bool, модификаторов – short (может применяться к типу int) и long (может применяться к типам int и double). Модификатор и тип могут быть переставлены местами. Далее следует список идентификаторов, разделенных запятыми. Некоторые идентификаторы могут соответствовать массивам (одномерным или многомерным), в таком случае за ними следует указание каждой размерности массива (это обязательно положительное число) в отдельных квадратных скобках. Описание завершается точкой с запятой, после чего могут следовать другие подобные описания переменных.

Примеры:
Код:
int a, mas[4][15], vx;
int long I, j, k;
long double x1[2], x2[2], x3[2];
long flag;


Нужно составить конечный автомат для языка $L$.

 i  Программный код оформляйте тегом code, формулы - $\TeX$ом. Поправил.

 
 
 
 Re: Составить конечный автомат
Сообщение17.07.2013, 14:59 
Что должен делать КА?
Какой результат должен быть?
В каком виде должно быть решение (программный код (язык?), блок-схема, граф и др.)?

 
 
 
 Re: Составить конечный автомат
Сообщение17.07.2013, 17:57 
Скорее всего, КА должен принимать правильные определения (строки языка $L$) и не принимать неправильные (не его строки) — хотя последнее слово за ТС.

Isaacs, вы можете построить КА, принимающие отдельно <тип и/или модификатор>, <идентификатор>, <размерности массива>, непустую строку пробелов, возможно пустую строку пробелов?

Если у вас есть два КА, распознающие языки $A$ и $B$, вы можете построить КА, распознающие языки $AB$ и $A^*$?

Если везде да, то вы можете смело начинать решать — вы всё нужное знаете!

Если не везде да, скажите.

-- Ср июл 17, 2013 20:58:54 --

P. S. А если вы знаете регулярные выражения…

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group