Итак… Паскаль-ФК. Если вы не знаете, что такое Pascal-FC (а если не знаете, то как вы сюда попали?), то Pascal-FC (как написано на его главной странице) — это язык программирования, созданный в 1980-х, нацеленный на поддержку преподавание параллельного программирования. Он поддерживает широкий спектр примитивов параллелизма, включая семафоры, мониторы с условными переменными, синхронную передачу сообщений с использованием каналов, удаленный вызов, защищенные ресурсы и повторную очередь.

Когда-то vi или emacs были лучшими текстовыми редакторами для программирования. Сегодня у нас есть множество вариантов, но ни один из них не поддерживает Pascal-FC. В этой статье я представляю несколько быстрых (и надо сказать грязных) базовых настроек для компиляции и выполнения Pascal-FC с помощью VSCode.

Предпосылки

Расширения

Давайте начнем!

Компилировать при сохранении

Во-первых, мы собираемся настроить некоторые команды для компиляции при сохранении. Для этого добавьте в файл settings.json следующие команды:

"emeraldwalk.runonsave": {
      "commands": [
          {
              "match": "\\.pfc$",
              "cmd": "rm \"${fileDirname}/${fileBasenameNoExt}.lis\""
          },
          {
              "match": "\\.pfc$",
              "cmd": "rm \"${fileDirname}/${fileBasenameNoExt}\""
          },
          {
              "match": "\\.pfc$",
              "cmd": "pfccomp \"${fileDirname}/${fileBasenameNoExt}.pfc\" \"${fileDirname}/${fileBasenameNoExt}.lis\" \"${fileDirname}/${fileBasenameNoExt}\""
          },
      ],
    },

Сделанный! Теперь, если вы сохраните файл .pfc, VSCode создаст файлы LIS и двоичные файлы компиляции (в случае успеха, в противном случае будет создан только файл LIS).

Запуск с запуском

Теперь мы создадим задачу VSCode, а затем выполним ее с помощью функции запуска VSCode.

1. Создайте задачу: добавьте в файл tasks.json следующую задачу:

"tasks": [
    ...
    {
      "label": "Run PascalFC",
      "type": "shell",
      "command": "pint \"${fileDirname}/${fileBasenameNoExtension}\" \"${fileDirname}/${fileBasenameNoExtension}.pmd\"",
      "presentation": {
        "reveal": "always",
        "panel": "new"
      }
    },
    ...
]

2. Создайте конфигурацию запуска: добавьте в файл launch.json следующую конфигурацию запуска:

{
    "version": "0.2.0",
    "configurations": [
        ...
        {
            "type": "ILauncher",
            "request": "launch",
            "name": "Run PascalFC",
            "preLaunchTask": "Run PascalFC"
        },
        ...
    ]   
}

И это все! Теперь у нас должен быть VSCode с некоторыми базовыми функциями Pascal-FC. Есть некоторые работы TODO, такие как форматирование и подсветка синтаксиса, поэтому я буду обновлять этот пост, если найду хороший способ осветить эти темы. Оставайтесь с нами и спасибо за чтение!