Язык Си в примерах/Простая грамматика: различия между версиями
Содержимое удалено Содержимое добавлено
Greck (обсуждение | вклад) Нет описания правки |
Greck (обсуждение | вклад) мНет описания правки |
||
Строка 67:
Программный код можно максимально приблизить к самим правилам:
ReadS() {
if( scanf("%d", &n) != 1 ) return 0;
switch(c) {
'0': return 1;
Строка 76:
}
}
== Задание ==
Строка 128 ⟶ 129 :
printf ("Correct\n");
}
Разбор языков (parsing), которые задаются простыми рекурсивными грамматиками,
реализуют с помощью рекурсивных функций, которые возвращают
1 (успешно считано) или 0 (не считано).
Строка 134 ⟶ 139 :
::* язык записи email адресов.
::* язык записи арифметических выражений над целыми числами со скобками и операциями <tt> + * - / </tt>.
:'''Задача 5.''' Просмотрите формальное описание грамматики языка Си. Является ли условие выводимости из символа program необходимым для компиляции программы? Является ли это условие достаточным? Ответ обоснуйте.
:'''Задача 6.''' Изучите задачу вычисления сопротивления по описанию параллельно-последовательной электрической схемы из сопротивлений — [/Задача «Расчёт сопротивления схемы»]
|