Commit graph

39 commits

Author SHA1 Message Date
AlexanderZemlyak efb4a4338f
New checks for directives added (#3099)
* Extract base classes from ParserTools (local) and GPPGParserHelper

* Fix string resources error

* Extract base class for unexpected token error

* Update ParserTools project file

* Add comments for compiler directives usages in compiler

* Add directives checks

* Move string constants to new project

* Implement scalable directives checks

* Remove known directives from compiler

* Fix PABCSystem namespace error

* Allow region and endregion with no params

* Allow parameters to endif directive

* Delete directive parameters extension checks

* Replace error with warning for uknown directive case

* Fix generate native code (semantic rule) assigning

* Improve error messages for directives

* Rename RunParseThread to SwitchOnIntellisence

Для отладки может требоваться отключение Intellisence на уровне кода. Для понятности метод назван SwitchOnIntellisence.

* Resolve merge conflicts

* Add new compiler errors for unsupported target framework and output file type

* Add documentation to directives checks

* Fix directives check loop
2024-05-04 20:21:50 +03:00
AlexanderZemlyak 0ae7595f0d
Implement programming languages integration functionality (#3001)
* Make standardModules Dictionary instead of LanguageId usage

* Create new common string constants for pascal language

* Add LanguagesData class template

* Move some compiler directive string constants to Compiler project

* Extract LanguagesData class to separate file

Also extracted RuntimeServiceModule (IO-modules) management to new functions.

* Fix pabcnetc crashing (KeyNotFoundException)

* Make similar change in pabcnetc_clear

* Return PABCExtensions in DomConverter.cs

* Return compiler string constants to Tree Converter

* Rename MoveSystemUnitForward method

* Rename system unit variable

* Add new parser load error (localized versions)

* Fix pascal language name constant

* Add system units property to parsers

* Add LanguageKits directory with a test file

* Implement language integrator

Был реализован загрузчик комплектов дополнительных языков (всех кроме Pascal). Был пересмотрен подход к реализации ParsersController и этот класс сделан синглтоном. Добавлена загрузка стандартных модулей языков в CompilerOptions.

* Squashed commit of the following:

commit 8f9dc7e5a0
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date:   Mon Mar 11 20:33:13 2024 +0300

    fix #3050

commit 90363ced45
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date:   Sun Mar 3 21:37:25 2024 +0300

    Недобитки при сортировке строк

commit c9d7ba7758
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date:   Sat Mar 2 13:32:14 2024 +0300

    Order и OrderDescending для строк с Ordinal

commit 6fbc0200bf
Author: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date:   Tue Feb 27 23:21:26 2024 +0300

    Fix interface loop dependency check (#3047)

    Tests for problematic case were added

commit e4d63bfef9
Author: bormant <bormant@mail.ru>
Date:   Tue Feb 27 23:18:25 2024 +0300

    Fix typo: C (ru) -> C (en) (#3042)

commit 0d37232d21
Author: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Date:   Tue Feb 27 19:15:08 2024 +0300

    School - исправление пустого диапазона простых и IP-адресов

commit 9fd4c7f338
Merge: 3cca2a89 6027083b
Author: Ivan Bondarev <ibond84@googlemail.com>
Date:   Wed Feb 21 20:57:10 2024 +0100

    Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet

commit 3cca2a8949
Author: Ivan Bondarev <ibond84@googlemail.com>
Date:   Wed Feb 21 20:56:49 2024 +0100

    fix in formatter
2024-03-13 22:16:40 +03:00
Sun Serega 0e951303a8 Fix generic_params=>instance_params 2023-06-25 09:44:11 +03:00
Ivan Bondarev 7b0edd5235 fix pascalabcnet/pascalabcnetide#250 2022-10-30 14:19:19 +01:00
Ivan Bondarev 5b4eb6beb2 fix #2713 2022-09-25 10:40:08 +02:00
Ivan Bondarev f2fd5f396b fix pascalabcnet/pascalabcnetide#216 2021-12-12 12:35:02 +01:00
Ivan Bondarev ae448c67aa fix pascalabcnet/pascalabcnetide#217 2021-12-12 12:28:18 +01:00
Ivan Bondarev 5f6e456dec fix pascalabcnet/pascalabcnetide#207 2021-08-11 17:41:42 +02:00
Бондарев Иван 70c2755ea1 fix #2286 2020-08-16 14:05:32 +02:00
Бондарев Иван 6a15518c9d fix #2047 2019-08-19 21:55:45 +02:00
Mikhalkovich Stanislav e603b1fd6d Mikhalkovich в Copyright
Заготовка для школьного плагина образцов кода
2019-07-28 23:53:15 +03:00
Mikhalkovich Stanislav 1327baaa48 fix #1147
Многовато кода для маленького фикса ))
2019-06-15 13:25:44 +03:00
Бондарев Иван 6bdd998402 fix #1948 2019-06-02 14:50:30 +02:00
Бондарев Иван ed91922868 #1475 2018-11-07 19:44:13 +01:00
Бондарев Иван e84bfaff55 fix #1455 2018-11-04 14:24:07 +01:00
Бондарев Иван 2fdc2f515a fix #1315 2018-10-03 18:47:32 +02:00
Бондарев Иван 1e25e6e987 fix #1266 2018-10-03 10:14:32 +02:00
Бондарев Иван ebe8dc1c1d fix #1151 2018-09-16 17:51:26 +02:00
Бондарев Иван 8f0372665f fix #1173 2018-09-16 11:34:56 +02:00
Бондарев Иван 3892369e38 fix #1156 2018-09-06 21:31:52 +02:00
Бондарев Иван 7bfd14383a fix #1148 2018-09-04 20:42:58 +02:00
Бондарев Иван ea2486ecaf fix #1043 2018-08-19 12:32:24 +02:00
Бондарев Иван 692c2fa5fa fix #949 2018-07-18 21:47:10 +02:00
Бондарев Иван 35f217128e bug fix #801 2018-05-05 16:21:07 +02:00
Бондарев Иван 040cfcd67a bug fix #546 2017-11-05 17:24:03 +01:00
Бондарев Иван af48bcbf73 bug fix #541 2017-11-05 15:15:28 +01:00
Бондарев Иван 774a1a2706 bug fix #462 2017-08-13 13:32:28 +02:00
Бондарев Иван e4aaf57b99 bug fix #443 2017-07-07 18:30:57 +02:00
Бондарев Иван 485d6b4445 bug fix #428 2017-07-06 20:33:38 +02:00
Бондарев Иван c710f86dcb bug fix #433 2017-07-02 10:44:59 +02:00
Бондарев Иван 636301ae02 bug fix #432 2017-06-29 21:05:37 +02:00
Бондарев Иван c9a057ec58 infinite recursion warning 2017-06-11 12:50:08 +02:00
Бондарев Иван 0423e6bdcf Избавился от предупреждений в PABCSystem и ABCObjects 2016-09-27 20:42:57 +02:00
Бондарев Иван 573e22d818 Убрал предупреждение для goto 2016-09-27 20:19:07 +02:00
Бондарев Иван 67e77dd863 fix #279 2016-09-27 20:05:16 +02:00
Artem Pelenitsyn 49378a6750 change encoding for all *.pas and *.cs files: cp1251 -> utf-8 2015-12-28 14:25:15 +03:00
Бондарев Иван f03cc0a610 enum type as array indexer 2015-11-08 13:39:39 +01:00
Бондарев Иван 092d84d664 added license info in source files 2015-06-01 21:15:17 +02:00
Бондарев Иван e6e67c193c initial commit 2015-05-14 21:35:07 +02:00