Skip to content

Исправление некорректной грамматики #28

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 3 commits into from
Mar 9, 2023

Conversation

Stepami
Copy link
Owner

@Stepami Stepami commented Mar 9, 2023

В рамках данного PR будет реализована грамматика предложенная, как исправление существующей, в рамках #14

@Stepami Stepami linked an issue Mar 9, 2023 that may be closed by this pull request
@github-actions
Copy link

github-actions bot commented Mar 9, 2023

File Coverage Branches Missing
All files 43% 38%

Minimum allowed coverage is 80%

Generated by 🐒 cobertura-action against 39a75d9

@Stepami Stepami merged commit b275c20 into feature/visitor-net Mar 9, 2023
@Stepami Stepami deleted the bugfix/grammar branch March 9, 2023 22:40
@Stepami Stepami added Bug Something isn't working FrontEnd Working on frontend of the interpreter labels Dec 13, 2023
Stepami added a commit that referenced this pull request Jul 20, 2024
* Добавил пакет с контрактом паттерна "Посетитель", на который переведу AST

* migration to Visitor.NET 2.0.0

* базис внедрения шаблона Посетитель

* move folder

* merge

* small refactoring + two nodes

* fix build

* Новая система адресации инструкций (#21)

* initial of the branch

* контракт адреса

* Переезд на .NET 7 (#24)

* обновление sdk в проекте

* обновление sdk в ci

* переход на json raw string literal

* обновление nuget пакетов

* Генерация отчёта о покрытии на уровне конфигурации проекта

coverlet-coverage/coverlet#1391

* Генерация отчёта о покрытии на уровне конфигурации проекта

coverlet-coverage/coverlet#1391

* versioning

* Update Readme.md

* draft алгоритма работы коллекции

* Использование последних наворотов шарпа (#26)

* versioning

* enabling implicit usings (#25)

* local scoped namespaces (#27)

* after merge

* разработка алгоритма вставки в коллекцию

* пакетная вставка

* доработка алгоритма вставки

* индексатор

* прямая итерация над коллекцией

* важная доработка вставки - сгенерированный адрес проставляется инструкции, больше не требуется создавать адрес для создания инструкции

* переименовал сущность адреса

* доработка массовой вставки

* алгоритм удаления инструкции

* unit tests

* more tests

* переписал новые визиторы на AddressedInstructions

* удаление конструкта "номер инструкции"

* допиливание работы с Label.cs

* удаление конструкта номера из алгоритмов инструкций

* прогон инструкций в виртуальной машине по адресу

* переписывание алгоритмов инструкций на работу с адресами

* текущая реализация не требует такой сложной конструкции инструкции возврата

* remove unused

* подправил контракт AST

* block statement

* Proper HasReturnStatementImplementation

* removed unused code

* перегруппировка

* address system refactoring

* HashedAddress.cs fix

* AddressedInstructions.cs fix

* introducing brand new visitor architecture

* unary expression visitor

* refactoring + error removal

* Simple.cs fix

* BinaryExpression refactoring

* move AddressedInstructions.cs back

* remove unused

* as string code gen

* Constant.cs refactoring

* доработка генерации существующих функций ExpressionInstructionProvider.cs

* ArrayLiteral.cs visit

* TypeStatement.cs fix

* InsideLoopStatement.cs visit

* ExpressionStatement.cs visit

* ReturnStatement.cs visit

* Label.cs fix

* remove redunant override

* Property.cs refactoring

* ObjectLiteral.cs + FunctionDeclaration.cs visitor refactoring & decoupling

* WhileStatement.cs visit refactoring

* IfStatement.cs refactoring with visitor

* IfStatement.cs fix

* ConditionalExpression.cs visit fix

* AssignmentExpression.cs visitor

* fix

* fix tests

* ComplexLiteral.cs

* AssignmentExpression visit fix

* Исправление некорректной грамматики (#28)

* new grammar.txt content

* format grammar.txt

* grammar fix

* MemberExpression.cs visiting

* refactoring

* fix

* replacement function in AddressedInstructions.cs

* AssignmentExpression visiting fix

* fix

* call expr print

* fix parser

* parser fix 2

* restructuring

* script body visit fix

* formatting

* parser fix

* refactoring

* semantic assertion draft

* break support in if statatement

* enum rename

* rename

* exceptions excluded from codecov

* some semantic analysis rework

* removed some tests

* supress code cov

* suppress

* ReturnStatement.cs semantic

* renane

* parser fix

* rename

* move

* mv SemanticChecker.cs

* new visitor

* region

* SymbolTableBuilder.cs completed

* module refactoring

* removed symbol table construction from parsing

* SymbolTableInitializer fix

* integration with symbol table initializer

* refactoring

* DeclarationVisitor.cs

* usage of decl visitor

* fix recursion

* - Visiting type decl
- New type symbol
- Removed types dict from symbol table

* fix

* small fix

* update  nuget

* symbol refactoring

* some work stuck long time ago

* symbol state

* предварительная версия инициализатора имён

* fix ci

* complete type loading system rework

* type resolving example

* refactoring of default js types consuming and custom types resolving

* fix function codegen bug - end label was not emitted

* type domain refactored

* pre-load built types before reference resolving

* fix bug in object type ref resolving

* hierarchy enhancement

* guard of type duplicates and built-in types declaration

* initialized/declared type symbols

* some new checks

* more refac

* proper render of type values

* guard declarations from duplicates

* do not return null

* binary and unary expressions check

* fix bug sequence has no elements

* guard against no initializer

* formatting

* there is not symbol without initializer thus symbol cannot be not initialized

* working with assignments

* checking access expressions

* check object literal without methods

* реструктуризация сервисов посетителей

* рефакторинг после реструктуризации

* удалил ненавистный Utils

* рефакторинг объектного типа

* сохранение функций в хранилище, для которых не был сразу выведен возвращаемый тип, чтобы впоследствии его вычислить

* call expr check v1

* fix

* перенос проверок функции статическим анализом

* Починил бекенд при работе с анонимными массивами и объектами

* доработка вывода типов

* поправил вывод типов в части необработанных функций

* обновление версий экшенов

* вторая волна обновлений

* upd workflows

* global using visitor.net

* fix func decl gen

* Revert "fix func decl gen"

This reverts commit ef97623.

* visit fix

* Имеет ли функция пустое тело

* исправил ошибку кодогенерации if statement при отсутствии else блока

* базовая кодогенерация для вызова функции без учета метода объекта

* доработка вывода типов

* починил статический анализ доступа к элементу массива по индексу

* fix

* rename to hydrascript

* #15 - удалил методы из объекта

* #15 - удалил концепцию метода из бекенда

* #15 - удалил FunctionType.cs

* #15 - статический анализ вызова метода

* #15 - кодогенерация вызова метода

* #15 - актуализация лексической структуры

* #15 - доработка "забытого" статического анализа

* #15 - поправил кодген if-else

* rm

* #15 - если у функции не прописан тип и нет return'ов, то она void

* #15 - корректировка примеров

* #23 - рабочий пример
Stepami added a commit that referenced this pull request Aug 11, 2024
* Переезд на паттерн "Посетитель" (#4)

* Добавил пакет с контрактом паттерна "Посетитель", на который переведу AST

* migration to Visitor.NET 2.0.0

* базис внедрения шаблона Посетитель

* move folder

* merge

* small refactoring + two nodes

* fix build

* Новая система адресации инструкций (#21)

* initial of the branch

* контракт адреса

* Переезд на .NET 7 (#24)

* обновление sdk в проекте

* обновление sdk в ci

* переход на json raw string literal

* обновление nuget пакетов

* Генерация отчёта о покрытии на уровне конфигурации проекта

coverlet-coverage/coverlet#1391

* Генерация отчёта о покрытии на уровне конфигурации проекта

coverlet-coverage/coverlet#1391

* versioning

* Update Readme.md

* draft алгоритма работы коллекции

* Использование последних наворотов шарпа (#26)

* versioning

* enabling implicit usings (#25)

* local scoped namespaces (#27)

* after merge

* разработка алгоритма вставки в коллекцию

* пакетная вставка

* доработка алгоритма вставки

* индексатор

* прямая итерация над коллекцией

* важная доработка вставки - сгенерированный адрес проставляется инструкции, больше не требуется создавать адрес для создания инструкции

* переименовал сущность адреса

* доработка массовой вставки

* алгоритм удаления инструкции

* unit tests

* more tests

* переписал новые визиторы на AddressedInstructions

* удаление конструкта "номер инструкции"

* допиливание работы с Label.cs

* удаление конструкта номера из алгоритмов инструкций

* прогон инструкций в виртуальной машине по адресу

* переписывание алгоритмов инструкций на работу с адресами

* текущая реализация не требует такой сложной конструкции инструкции возврата

* remove unused

* подправил контракт AST

* block statement

* Proper HasReturnStatementImplementation

* removed unused code

* перегруппировка

* address system refactoring

* HashedAddress.cs fix

* AddressedInstructions.cs fix

* introducing brand new visitor architecture

* unary expression visitor

* refactoring + error removal

* Simple.cs fix

* BinaryExpression refactoring

* move AddressedInstructions.cs back

* remove unused

* as string code gen

* Constant.cs refactoring

* доработка генерации существующих функций ExpressionInstructionProvider.cs

* ArrayLiteral.cs visit

* TypeStatement.cs fix

* InsideLoopStatement.cs visit

* ExpressionStatement.cs visit

* ReturnStatement.cs visit

* Label.cs fix

* remove redunant override

* Property.cs refactoring

* ObjectLiteral.cs + FunctionDeclaration.cs visitor refactoring & decoupling

* WhileStatement.cs visit refactoring

* IfStatement.cs refactoring with visitor

* IfStatement.cs fix

* ConditionalExpression.cs visit fix

* AssignmentExpression.cs visitor

* fix

* fix tests

* ComplexLiteral.cs

* AssignmentExpression visit fix

* Исправление некорректной грамматики (#28)

* new grammar.txt content

* format grammar.txt

* grammar fix

* MemberExpression.cs visiting

* refactoring

* fix

* replacement function in AddressedInstructions.cs

* AssignmentExpression visiting fix

* fix

* call expr print

* fix parser

* parser fix 2

* restructuring

* script body visit fix

* formatting

* parser fix

* refactoring

* semantic assertion draft

* break support in if statatement

* enum rename

* rename

* exceptions excluded from codecov

* some semantic analysis rework

* removed some tests

* supress code cov

* suppress

* ReturnStatement.cs semantic

* renane

* parser fix

* rename

* move

* mv SemanticChecker.cs

* new visitor

* region

* SymbolTableBuilder.cs completed

* module refactoring

* removed symbol table construction from parsing

* SymbolTableInitializer fix

* integration with symbol table initializer

* refactoring

* DeclarationVisitor.cs

* usage of decl visitor

* fix recursion

* - Visiting type decl
- New type symbol
- Removed types dict from symbol table

* fix

* small fix

* update  nuget

* symbol refactoring

* some work stuck long time ago

* symbol state

* предварительная версия инициализатора имён

* fix ci

* complete type loading system rework

* type resolving example

* refactoring of default js types consuming and custom types resolving

* fix function codegen bug - end label was not emitted

* type domain refactored

* pre-load built types before reference resolving

* fix bug in object type ref resolving

* hierarchy enhancement

* guard of type duplicates and built-in types declaration

* initialized/declared type symbols

* some new checks

* more refac

* proper render of type values

* guard declarations from duplicates

* do not return null

* binary and unary expressions check

* fix bug sequence has no elements

* guard against no initializer

* formatting

* there is not symbol without initializer thus symbol cannot be not initialized

* working with assignments

* checking access expressions

* check object literal without methods

* реструктуризация сервисов посетителей

* рефакторинг после реструктуризации

* удалил ненавистный Utils

* рефакторинг объектного типа

* сохранение функций в хранилище, для которых не был сразу выведен возвращаемый тип, чтобы впоследствии его вычислить

* call expr check v1

* fix

* перенос проверок функции статическим анализом

* Починил бекенд при работе с анонимными массивами и объектами

* доработка вывода типов

* поправил вывод типов в части необработанных функций

* обновление версий экшенов

* вторая волна обновлений

* upd workflows

* global using visitor.net

* fix func decl gen

* Revert "fix func decl gen"

This reverts commit ef97623.

* visit fix

* Имеет ли функция пустое тело

* исправил ошибку кодогенерации if statement при отсутствии else блока

* базовая кодогенерация для вызова функции без учета метода объекта

* доработка вывода типов

* починил статический анализ доступа к элементу массива по индексу

* fix

* rename to hydrascript

* #15 - удалил методы из объекта

* #15 - удалил концепцию метода из бекенда

* #15 - удалил FunctionType.cs

* #15 - статический анализ вызова метода

* #15 - кодогенерация вызова метода

* #15 - актуализация лексической структуры

* #15 - доработка "забытого" статического анализа

* #15 - поправил кодген if-else

* rm

* #15 - если у функции не прописан тип и нет return'ов, то она void

* #15 - корректировка примеров

* #23 - рабочий пример

* Feature/net 8 (#62)

* #50 - .NET 8

* #44 - mac m1

* upd Readme.md

* #32 - CommandLineSettings.cs теперь обычный dto с опциями (#63)

* Update develop.yml - накинул фиксированных permissions

* Add unique Guid check to HashAddress.Equals (#65)

* Add unique Guid check to HashAddress.Equals

* Update develop.yml - накинул фиксированных permissions

---------

Co-authored-by: Степан <stepami@mail.ru>

* Update develop.yml

* Feature/nrt (#66)

* #46 - nrt 1

* #46 - nrt 2

* #46 - nrt 3

* #46 - after merge

* #46 - fix

* Feature/lexer issue 58 (#67)

* fix warnings

* #58 - feature

* #58 - tests

* #58 - fix tests

* рефакторинг структуры проекта (#68)

* #31 - non code elements

* #31 - samples

* #31 - structure refac

* #31 - one more file

* rm cobertura

* new ignore rule

* Обновление Visitor.NET (#69)

* minor fix

* #31 - visitor.NET upgrade

* #59 - переход на IReadOnlyList (#70)

* #31 - change nullability of Parent

* #31 unbound ast node from segment

* #59 - переход на IReadOnlyList

* Draft: Выделение поддоменов (#72)

* #31 - IAbstractSyntaxTreeNode.cs

* #31 - tree internal

* #31 - separate ast from backend

* #31 - segment

* #31 - separate ast from backend 2

* #31 - value dto converter

* #31 - удалил Type из TypeValue

* #31 - fix test

* #31 - symbol contracts

* #31 - tuple -> dto

* #31 - End is property

* mv

* #31 - backend mv

* #31 - backend subdomain

* #31 - scope dto for ast

* #31 - rename

* #31 - rename

* #31 - ISymbolTable -> Scope

* #31 - SymbolTableStorage.cs

* #31 - fix bug

* #31 - remove IR from codegen

* Переход на чистую архитектуру и System.CommandLine (#73)

* #51 - Скелет Луковой Архитектуры

* #51 - удалил мусор

* #51 - перенос backend

* #51 - fix

* #51 - перенос FrontEnd

* #51 - Перенос IR

* #51 - перенос StaticAnalysis

* #51 - перенос Code Generation

* #51 - code gen di refac

* #51 - fix

* #51 - fix

* #51 - static analysis di refac

* #51 - fix

* #51 fix

* #51 - fix

* #51 - fix

* #51 - nuget upgrade

* #51 - infrastructure layer

* #42 - внедрил system command line

* di fix

* #51 - fix

* #47 - интеграционные тесты

* #47 - ci cd

* change ci cd setup

* update Readme.md

* Feature/generated lexer (#77)

* #57 - абстракция IStructure.cs

* #57 - token types provider

* #57 - DI refactoring

* #57 - json highlight

* #57 - абстракция IGeneratedRegexContainer

* fix

* #57 - SG project

* #57 - fix SG launch

* #57 - tests

* #57 - удаление динамического построения RegEx

* #57 - убрал лишнее из TokenType

* #57 - тест на проверку подстановки

* fix

* upd cvrg info

* Перевод на Source Gen Json (#80)

* #45 - тестовый workflow для проверки AOT publish на инфре GitHub Actions

* #45 - перевёл бекенд на json source gen

* fix

* #45 - перевёл SG на json source gen

* #45 - перевёл Infrastructure на json source gen

* Revert "#45 - тестовый workflow для проверки AOT publish на инфре GitHub Actions"

This reverts commit 3014c53.

* Актуализация Readme и перенос файла грамматики в более подходящее место

* small fix - return exit code

* важное уточнение в Readme.md

* logo

* re-arrange

* fix typo in logo

* Merge pull request #83

* Перейти на FrozenDictionary в Structure.

* Убран пробел.

* I have read the CLA Document and I hereby sign the CLA

* Remove cla (#85)

* removed cla

* fix

* #48 - внедрение GitVersion (#86)

* #48 - init GitVersion.yml

* #48 - внедрение git-version в ci-cd

* #48 - upload build

* #48 - use version option

* #48 - fix version

* #48 - push builds only for dev

* test

* fix

* fix

* fix

* fix

* #48 - пуш тега на мерже в мастер

* #48 - временное отключение релиз воркфлоу

* убрал codecov для master - в нём нет смысла, так как подстановка данных все равно происходит руками +semver:skip

* #48 - исключение release ветки из Develop Workflow

* #48 - вернул release.yml

* #48 - новый Release Workflow

---------

Co-authored-by: Sergey Nazarov <insight.appdev@gmail.com>
Co-authored-by: Georgy Levchenko <55885862+FoxTes@users.noreply.github.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Bug Something isn't working FrontEnd Working on frontend of the interpreter
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Некорректная грамматика
1 participant