Commit graph

67 commits

Author SHA1 Message Date
AlexanderZemlyak c2111cf375
Change type of language field in syntax tree to be string (#3119)
* Change syntax tree language field to be string

Тип LanguageId заменен на string

* Fix unit language name assigning

* Update lexer and parser

* Add checks to avoid NullReferenceException

Проверки на null для SyntaxTree. (К падению компилятора они не приводили, т.к. они связаны с другими ошибками, например синтаксическими), но мешали отладке.

* Return initial lexer and parser versions

* Revert language name assigning
2024-05-28 14:16:49 +03:00
Mikhalkovich Stanislav c66bfa7d92 Многострочные строковые литералы 2024-03-21 21:21:59 +03:00
Mikhalkovich Stanislav 30668e650a function f(n: integer): integer;
begin
  if n = 0 then Result := 1
  else Result := n*f(n-1);
end;

begin
  var a := (var b := f(5)) + b;
  Print(a,b);
end.
2023-12-31 21:56:13 +03:00
Mikhalkovich Stanislav 90a8c6f944 ref_var_def_statement в Syntax Tree для развертывания кортежного присваивания 2023-11-01 22:49:09 +03:00
Mikhalkovich Stanislav 232f3a2238 lambda_any_type_node_syntax 2023-05-31 10:06:04 +03:00
Mikhalkovich Stanislav 03dea1990c Ускорен (a,b) := (b,a) - работает как Swap 2023-05-16 15:36:00 +03:00
Mikhalkovich Stanislav 49c432411a Именованные аргументы.
Малое покрытие тестами
2023-05-04 23:58:43 +03:00
Mikhalkovich Stanislav 308da7ab5c UnknownID в yield_unknown_ident сделал генерируемым автоматически 2022-08-04 11:19:54 +03:00
Mikhalkovich Stanislav 3240593d2e Реализован foreach index
Исправлена ошибка for step
Дополнена справка по for step и foreach index
J,yjdkty ntrcnjdsq htlfrnjh? gjlcdtxbdf.obq ыеуз b штвуч rjyntrcnyj d hfvrf[ jlyjq cnhjrb
2022-02-26 12:33:53 +03:00
Ivan Bondarev 4a70f38e39 #2630 2022-02-06 14:30:31 +01:00
Mikhalkovich Stanislav 1438b620ab Новsй узел expression_with_let_semantic, expression_with_let_semantic
для конструкции вида
procedure p(b: integer := (var x := b*b; x*x+x-1));
2021-06-29 12:02:42 +03:00
Ivan Bondarev 31cf309e4e fix #2038
fix #2033
2021-03-28 14:08:47 +02:00
Mikhalkovich Stanislav 390b4b8a95 расширенный foreach - семантика 2020-12-03 23:08:23 +03:00
Mikhalkovich Stanislav 02c92a378d Форматирование расширенного foreach 2020-11-28 13:07:03 +03:00
Mikhalkovich Stanislav e3b59ae5a1 Константы 123bi
В модуле School - ToBase(BigInteger)
2020-11-20 14:23:49 +03:00
Mikhalkovich Stanislav fc234f7cc4 Исправление ошибки с захватом лямбдой переменной, объявленной в виде var (m,n) := ... 2020-08-15 22:56:19 +03:00
Mikhalkovich Stanislav 15a9445216 x → x (стрелочка :))
|1,2,3|.Print
2020-07-29 11:29:51 +03:00
Mikhalkovich Stanislav 2794392e83 Короткие программы вида
##
Print(1)

Преддверие литеральных массивов в виде |1,2,3| - пока без форматирования

Rot Triangle 1.vertex.glsl
2020-07-04 22:49:42 +03:00
Александр Погорелов 985d35ef5e SystemSlice 2020-05-02 11:44:20 +03:00
Александр Погорелов 5800d5626c merge master[2] 2020-02-24 16:44:21 +03:00
Mikhalkovich Stanislav a0fda1e045 if_expr_new узел для форматирования 2020-01-06 20:02:07 +03:00
Mikhalkovich Stanislav 15d20463d7 Новый Range в виде a..b 2020-01-04 12:19:36 +03:00
Alexandr Pogorelov 8a432eee6e
Улучшение паттерн матчинга (#1949)
Матчинг констант, таплов, коллекций. Улучшение матчинга по типам.
2019-05-24 10:04:17 +03:00
Mikhalkovich Stanislav a7e562b004 fix #1843 2019-03-11 23:09:55 +03:00
Mikhalkovich Stanislav 8df7bac82c proc_body сделано типа object в function_lambda_definition
Небольшие правки PABCSystem.pas
2019-02-12 10:19:33 +03:00
Александр Погорелов 17fe2c3df0 fix #1605 2019-01-20 16:47:43 +03:00
Voloshin Bogdan 9ba7308c1a Remove typeclasses 2018-12-25 23:18:49 +03:00
Mikhalkovich Stanislav 753f4f219e bug fix #1570 2018-12-06 21:14:33 +03:00
miks1965 c770e3f464 fix #1413 2018-11-08 00:24:28 +03:00
miks1965 c7f77db426 bug fix #1448 2018-11-03 11:02:34 +03:00
miks1965 ac91fc92fa Отладочные правки 2018-09-23 19:00:56 +03:00
miks1965 05308759e3 Незначительные мелочи 2018-08-09 16:53:46 +03:00
miks1965 26c92536d3 var b := 10 < 5 ? 1 : 2.0; теперь работает 2018-07-20 14:13:28 +03:00
miks1965 10bccf3128 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet 2018-07-01 11:57:24 +03:00
miks1965 70c85a0c6a fix #265 2018-07-01 11:53:34 +03:00
Alexander Zakharenko ac2d3c3ea3 Fix some syntax nodes not having list initialized 2018-07-01 11:26:57 +03:00
Voloshin Bogdan 3446717d18 Rearrange Typeclass examples 2018-06-10 22:20:58 +03:00
Voloshin Bogdan 0fd509f669 Merge branch 'master' into features/typeclasses-another-approach
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
#	SyntaxTree/tree/SyntaxTreeStreamWriter.cs
#	SyntaxTree/tree/tree.xml
2018-05-19 00:21:42 +03:00
Alexander Zakharenko 038d6fe839 Fix patterns not working with yields 2018-05-17 22:49:07 +03:00
Bogdan Voloshin a315f9f063 Merge commit '082a998786a49e4e3f3ce0ad799fe1c7b6a90fb7' into features/typeclasses-another-approach
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.lex
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.y
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
#	SyntaxTree/tree/AbstractVisitor.cs
#	SyntaxTree/tree/HierarchyVisitor.cs
#	SyntaxTree/tree/SyntaxTreeStreamReader.cs
#	SyntaxTree/tree/SyntaxTreeStreamWriter.cs
#	SyntaxTree/tree/Tree.cs
#	SyntaxTree/tree/Visitor.cs
#	SyntaxTree/tree/tree.xml
#	TestSuite/CompilationSamples/PABCSystem.pas
#	bin/Lib/PABCSystem.pas
2018-05-14 18:01:14 +03:00
Voloshin Bogdan 950ca1c711 Add typeclass deriving translation 2018-05-14 06:37:23 +03:00
Alexander Zakharenko cc21d473f1 Recursive patterns - resugaring example 2018-05-13 20:49:08 +03:00
Alexander Zakharenko d257bbd52f Add else case and tests 2018-05-11 19:26:55 +03:00
Alexander Zakharenko 9d3fd3e5aa Implement deconstruction, simple case 2018-05-06 20:09:36 +03:00
Alexander Zakharenko 17cb96a479 Refactor nodes 2018-05-01 19:51:24 +03:00
Alexander Zakharenko 5aff52feeb Add deconstruct pattern to grammar 2018-05-01 19:29:39 +03:00
Bogdan Voloshin dc26158d0a Add typeclass param list 2018-04-18 19:08:07 +03:00
Bogdan Voloshin fdfae3b9fd Add where_type_class_constraint 2018-04-10 18:07:31 +03:00
Bogdan Voloshin 4444cf2689 Add grammar rules and syntax nodes 2018-04-05 20:02:37 +03:00
Alexander Zakharenko 597ef862bc Merge branch 'master' into features/patterns
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
#	Parsers/PascalABCParserNewSaushkin/Keywords.cs
#	SyntaxTree/tree/AbstractVisitor.cs
#	SyntaxTreeConverters/StandardSyntaxConverter.cs
#	TestSuite/CompilationSamples/PABCSystem.pas
#	TestSuite/intellisense_tests/PABCSystem.pas
#	bin/Lib/PABCSystem.pas
2017-10-05 18:48:57 +03:00