Update docs for language class parameters (#3353)

This commit is contained in:
AlexanderZemlyak 2025-11-06 17:55:21 +02:00 committed by GitHub
parent 0f963a58b4
commit 9c3ffea1c4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -19,12 +19,14 @@
### Шаг 4
В сделанном Вами наследнике `BaseLanguage` Вы пишете конструктор, который передает в `base()` следующие параметры:
1) имя языка, версия языка, строка с указанием авторских прав
2) парсер Вашего языка (наследник `BaseParser`)
3) парсер XML-комментариев (если его нет, то можно передавать `null`)
4) список преобразователей синтаксического дерева с одним обязательным элементом (для него можно взять стандартную базовую версию под названием `DefaultSyntaxTreeConverter`)
5) расширения файлов Вашего языка
6) чувствительность к регистру
7) имена стандартных модулей языка
2) класс "базы данных" языка, хранящий информацию в основном необходимую для Intellisense (наследник `BaseLanguageInformation`). На первое время можно использовать PascalABCLangaugeInformation.
3) парсер Вашего языка (наследник `BaseParser`)
4) парсер XML-комментариев (если его нет, то можно передавать `null`)
5) список преобразователей синтаксического дерева с одним обязательным элементом (для него можно взять стандартную базовую версию под названием `DefaultSyntaxTreeConverter`)
6) флаг дающий системе Intellisense информацию о том, нужно ли запускать преобразователи синтаксического дерева
7) расширения файлов Вашего языка
8) чувствительность к регистру
9) имена стандартных модулей языка
Также Вы реализуете метод `SetSemanticConstants`, в котором задаете необходимые параметры (значения переменных) из файла *SemanticRulesConstants.cs* (проект TreeConverter).