Commit graph

4810 commits

Author SHA1 Message Date
Vladislav Krylov 1daa515b4e
Интерфейс семантических проверок + делегат на проверку, является ли файл модулем (#3112)
* changes to fit multi semantic analyzer architecture

* Added CheckIfParsingUnit delegate to Compiler
2024-05-05 18:12:50 +03:00
AlexanderZemlyak acb1be8c92
Directives fixes (#3110)
* Unify directive errors

* Add new quotesAreSpecialSymbols field to DirectifeInfo

* Rewrite directive parsing and checks

* Delete R+ directive from pascal tests
2024-05-05 18:12:35 +03:00
Sun Serega edf3358b39
Предупреждения для $else и $endif, у которых не совпадает имя дефайна (#3109)
* `$ifdef`: add warnings

* save directive name casing
2024-05-05 18:09:39 +03:00
Sun Serega 6612fac1c4
cleanup (#3107) 2024-05-04 22:20:40 +03:00
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
Sun Serega 769212192f
TypeName: Handle tuples (#3106) 2024-05-04 14:08:21 +03:00
Sun Serega dfaef32384
TypeName: Improved nested generics (#3104)
fix #3103
2024-05-03 21:31:58 +03:00
Sun Serega 9104315f3e
refactor code dup (#3105) 2024-05-03 21:31:06 +03:00
Mikhalkovich Stanislav 99845ad152 fix #3102 2024-04-29 23:02:34 +03:00
Sun Serega 8e6ebc1f28
Вариант доработки #2655 (#3082)
* make new methods - ext methods

* fix the test

* +1

* fix description after merge

* fix doc

* Keep only the `ObjectString` ext methods

* revert everything except descriptions
2024-04-27 00:06:45 +03:00
Mikhalkovich Stanislav 4eb6462fd9 3.9.0.3463 2024-04-26 00:40:48 +03:00
Ivan Bondarev 1459245b6a Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet 2024-04-25 20:39:35 +02:00
Ivan Bondarev 0e25b58737 fix in intellisense 2024-04-25 20:39:21 +02:00
Sun Serega ca1700846d
Исправление TypeToTypeName для энумов (#3094)
* fix `TypeToTypeName` for enums

* use existing test
2024-04-23 21:32:13 +03:00
Mikhalkovich Stanislav 4d0c7550ff Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet 2024-04-23 21:13:16 +03:00
Mikhalkovich Stanislav e0085ece15 3.9.0.3461 2024-04-23 21:13:01 +03:00
AlexanderZemlyak 0b7997d691
Remove main resource deletion in code generation stage (#3098) 2024-04-23 20:54:00 +03:00
Mikhalkovich Stanislav 9f9c2a85bd fix #3086
CompilerOptions.StandardModules.ContainsKey(currentCompilationUnit.languageName) - проверка

convert_semantic_strong - раскомментировал try чтобы лучше перехватывать параметры Exception
2024-04-23 20:51:25 +03:00
AlexanderZemlyak 4609a6dfd2
Extract base classes from ParserTools (local) and GPPGParserHelper (#3092)
* Extract base classes from ParserTools (local) and GPPGParserHelper

* Fix string resources error

* Extract base class for unexpected token error

* Update ParserTools project file
2024-04-23 10:47:48 +03:00
Sun Serega 0c74dc0b12
don't use Array.Empty (#3089) 2024-04-23 10:47:20 +03:00
Mikhalkovich Stanislav 1e66c4d740 mre.Set(); в GraphABC.pas
(ttt[0].sym_info as var_definition_node).type = from0.type; В Assign.cs
2024-04-22 22:41:12 +03:00
Mikhalkovich Stanislav 9c2a6c1e8f Help 2024-04-16 19:31:30 +03:00
Mikhalkovich Stanislav d61d7fe017 Zip вместо ZipTuple 2024-04-14 20:15:34 +03:00
Ivan Bondarev 08c5c765b7 #3080 2024-04-14 14:14:46 +02:00
Ivan Bondarev cbe0f60055 read1.pas 2024-04-14 12:02:47 +02:00
Ivan Bondarev 7e8dd32b4b read1.txt 2024-04-14 11:48:46 +02:00
Ivan Bondarev 13872fafa8 fix in read 2024-04-14 11:34:51 +02:00
Ivan Bondarev c00a0f2c85 fix in read 2024-04-14 11:10:22 +02:00
Mikhalkovich Stanislav 73d0f3528a 3.9.0.3454 2024-04-07 22:51:11 +03:00
Ivan Bondarev f8d023758a intellisense for ! 2024-04-07 20:49:09 +02:00
Mikhalkovich Stanislav c56442339e ! Hidden 2024-04-07 21:42:57 +03:00
Mikhalkovich Stanislav 310799effd Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet 2024-04-07 20:35:57 +03:00
Mikhalkovich Stanislav 813c7aece7 New version 2024-04-07 20:35:51 +03:00
Ivan Bondarev 21c317b303 intellisense for hiddennames 2024-04-07 11:02:01 +02:00
Sun Serega 2472de3109
Улучшения TypeName и _ObjectToString (#2655)
* TypeName+ObjectToString changes

* test

* cleanup

* 32-битные тесты падают из-за "operator+="???

И только в тесте, а в самом PABCSystem он работает

* sequence cleanup and tests

* cleanup

* prop error output

* Порядок перегрузок _ObjectToString и ерегрузки для TextWriter
2024-04-05 00:03:38 +03:00
Mikhalkovich Stanislav 6d96161be1 Директива HiddenParams для скрытых модулей 2024-04-04 14:00:54 +03:00
Mikhalkovich Stanislav 2192e7a5bc 40 добавил проект 2024-04-02 11:09:32 +03:00
Mikhalkovich Stanislav 0d3ca8cdc4 dict.GeT(key,default) 2024-04-01 19:27:58 +03:00
Ivan Bondarev 22779adbf9 fix #2610 2024-04-01 14:01:09 +02:00
Ivan Bondarev ba0b0f8c39 fix #2976
fix #2881
2024-04-01 12:31:21 +02:00
Ivan Bondarev 23b9ce9d37 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet 2024-03-31 14:25:18 +02:00
Ivan Bondarev 019cd031c6 test for #3062 2024-03-31 14:25:10 +02:00
Ivan Bondarev d55ab163e0
Merge pull request #3067 from SunSerega/refact-AddIndirectUsedUnitsForType
Мелкий рефакторинг `AddIndirectUsedUnitsForType`
2024-03-31 14:24:01 +02:00
Ivan Bondarev 9768db1f87 tests for #2958 2024-03-31 12:13:41 +02:00
Ivan Bondarev e948a54bf4 #3062 2024-03-31 11:47:31 +02:00
Ivan Bondarev 1609eddc9d #3064 2024-03-31 10:31:22 +02:00
Ivan Bondarev c6929c5d55 fix #3059 2024-03-29 19:32:38 +01:00
Ivan Bondarev cbaff8cfd0 bug fix #3060 2024-03-29 13:39:35 +01:00
Ivan Bondarev 1d82d488a4 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet 2024-03-29 12:19:27 +01:00
Ivan Bondarev a07d7bb8e5 bug fix #3055 2024-03-29 12:19:02 +01:00