pascalabcnet/Parsers/PascalABCParserNewSaushkin/Errors.cs
AlexanderZemlyak ba4d274058
Async await merge (#3177)
* s.ToLines
RenameDirectory

* Исправление ToLines

* Убрал из грамматики узлы await - случайно оставались

* Sync `.ToLines` with `System.IO.StringReader` (#3154)

* 3.9.0.3494

* add tests

* #3152

* #3152

* Don't skip PCU errors in `CompileAllUnits`

* fix #3155

* Create the array types outside of any unit/scope

* Add `use` test

* RobotField - try в блоке создания

* Исправлена Range(a, b, step: real)

LightPT - CheckOutput может принимать параметры типа последователльность - они будут вытягиваться в одну последовательность
  Для этого исправлен FlattenElement
  FlattenOutput применяется автоматически - его теперь не надо вызывать явно
TaskLoops поправлен и упрощен в соответствии с CheckOutput

* Поправлен LightPT

Упрощены TasksArr.pas TasksMatr.pas TasksStr.pas

* fix `GetReferenceFileName` dll copy (#3173)

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

* Add workflow to build each project separately

* Make `Compiler` depend on `PascalLanguage` and `PascalABCSaushkinParser`  06e595

* Make IDE's depend on `PABCNETC`

It's launched as a separate process from IDE

* Revert pascal language moving to language plugins (#3175)

* Return Parsers folder with standard parsers and move SyntaxTreeConverters back to Core

* Rename PascalLanguage project to PascalABCLanguageInfo

* Fix pascal dll loading

* Поправлены Tasks1Arr.pas Tasks1Begin.pas Tasks1BoolIfCase.pas

* Поправил в трех проектах пути к bin

LightPT - Read...(prompt) - больше комбинаций

Loop_If_2_Sum в Tasks1Loops.pas

* #3172

* 3.9.0.3500
Хороший коммит )

* Remove extra tests

* Fix dependencies in Compiler project

* LightPT - убрал CheckOutputNew
TasksArr.pas, TasksStr.pas - правки

* #3164

* Убрали зависимость компилятора от парсера Паскаля

---------

Co-authored-by: Mikhalkovich Stanislav <miks@math.sfedu.ru>
Co-authored-by: Sun Serega <sunserega2@gmail.com>
Co-authored-by: Ivan Bondarev <ibond84@googlemail.com>
2024-07-05 23:04:23 +03:00

88 lines
3.4 KiB
C#

// Copyright (c) Ivan Bondarev, Stanislav Mikhalkovich (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using PascalABCCompiler.SyntaxTree;
using PascalABCCompiler.Errors;
namespace Languages.Pascal.Frontend.Errors
{
public class bad_operand_type: SyntaxError
{
public bad_operand_type(string _file_name,SourceContext _source_context,syntax_tree_node _node):
base(StringResources.Get("OPERATOR_NOT_IMPLEMET_TO_THIS_OPEAND_TYPE"), _file_name, _source_context, _node)
{
}
}
public class statement_expected : SyntaxError
{
public statement_expected(string _file_name,SourceContext _source_context,syntax_tree_node _node):
base(StringResources.Get("STATEMENT_EXPECTED"), _file_name, _source_context, _node)
{
}
}
public class bad_leftside_assigment : SyntaxError
{
public bad_leftside_assigment(string _file_name, SourceContext _source_context, syntax_tree_node _node) :
base(StringResources.Get("LEFT_SIDE_ASSIGN_MUST_BE_VARIABLE"), _file_name, _source_context, _node)
{
}
}
public class anon_type_duplicate_name : SyntaxError
{
public anon_type_duplicate_name(string _file_name, SourceContext _source_context, syntax_tree_node _node) :
base(StringResources.Get("DUPLICATE_NAMES_IN_ANON_TYPE"), _file_name, _source_context, _node)
{
}
}
public class nonterminal_token_return_null : SyntaxError
{
public nonterminal_token_return_null(string _file_name,SourceContext _source_context,syntax_tree_node _node,string nonterminal_token_name):
base(string.Format(StringResources.Get("NONTERMINALTOKEN_{0}_RETURN_NULL"), nonterminal_token_name),
_file_name,_source_context,_node)
{
}
}
public class bad_anon_type : SyntaxError
{
public bad_anon_type(string _file_name, SourceContext _source_context, syntax_tree_node _node) :
base(StringResources.Get("BAD_ANON_TYPE"), _file_name, _source_context, _node)
{
}
}
public class unexpected_return_value : SyntaxError
{
public unexpected_return_value(string _file_name, SourceContext _source_context, syntax_tree_node _node)
: base(StringResources.Get("PROCEDURE_CANNOT_HAVE_RETURNED_VALUE"), _file_name, _source_context, _node)
{
}
}
public class unexpected_ident : SyntaxError
{
public unexpected_ident(string _file_name,ident unexpected_id,string expected,SourceContext _source_context, syntax_tree_node _node)
: base(string.Format(StringResources.Get("EXPECTED_{0}_BUT_FOUND_{1}"), expected, unexpected_id.name), _file_name, _source_context, _node)
{
}
}
public class bad_format_string : SyntaxError
{
public bad_format_string(string _file_name, SourceContext _source_context, syntax_tree_node _node) :
base(StringResources.Get("BAD_FORMAT_STRING"), _file_name, _source_context, _node)
{
}
}
public class PABCNETUnexpectedToken : UnexpectedToken
{
public PABCNETUnexpectedToken(string fileName, string expected, SourceContext sourceContext, syntax_tree_node node)
: base(fileName, expected, sourceContext, node) { }
protected override string GetFromStringResources()
{
return StringResources.Get("EXPECTED{0}");
}
}
}