Содержание‎ > ‎Школа‎ > ‎Pascal‎ > ‎

Подсветка синтаксиса

Написать программу, разделяющую исходный текст на Паскале на токены и выводящую токены разных типов разными цветами в графическом режиме.
  1. (Задание на 3) Распознавать в тексте ключевые слова и переводы строк.
    Вывести текст в консоль, заключая ключевые слова в фигурные скобки:
    [if] a > b [then]
      a := b;
    • Файл с ключевыми словами: keywords.txt
    • Указатель чтения/записи в файле перемещается процедурой Seek(f, pos)
    • Текущую позицию указателя возвращает функция FilePos(f)
  2. (Задание на 4) Добавить распознавание строковых литералов ('abc') и вывод в графическом режиме
    • Цвет фона устанавливается с помощью SetBrushColor
    • Цвет текста устанавливается с помощью SetFontColor
    • Жирный шрифт (для ключевых слов)
      • Устанавливается SetFontStyles([fsBold]);
      • Сбрасывается SetFontStyles([]);
  3. (Задание на 5) Добавить распознавание многострочных комментариев ({...}), проверить случай, когда внутри комментария есть переводы строк
  4. (ДЗ) Добавить однострочные комментарии (// ...) и ошибки (выделять красным цветом фона):
    1. Незакрытая строка (перевод строки или конец файла встретился до закрывающей кавычки)
    2. Неправильный перевод строки (одиночный символ #13 или #10)
    3. Незакрытый комментарий (файл закончился, а закрывающая фигурная скобка не встретилась)