Refactoring of Compiler.cs (#2984)
* Add first comments
* Finish commenting for Compile and CompileUnit
* Write TODO sections
* Add a few clarifications
* splitted some functions from compile
* Written some methods from Compile to functions
* Update variable names
* Refactor - stage 1
Refactor GetUsesSection and IsPossibleNameSpace
* Refactor - stage 2
Rename a few functions and variables
* Correct an inaccuracy
* Added comments, look through CompileUnit
* Rename a few functions and add new comments
* Split CompileUnit to Subfunctions
Add IsUnitCompiled, IsUnitInPCU, InitializeNewUnit, GetSourceCode, GenSyntaxTree, GenUnitDocumentation, CheckDLLDirectiveOnlyForLibraries, MatchErrorsToBadNodes, CheckIfUnitModule, SetUseDLLForSystemUnits,
CompileInterfaceDependencies, CompileCurrentUnitInterface, GetImplementationUsesSection, CompileImplementationDependencies, CompileCurrentUnitImplementation
* Added some TODOs
* Return uses_unit_in original name
Renaming of syntax tree nodes leads to internal compiler errors
* Extract GenerateILCode method
* Add checking if recompilation needed method
Needs to be discussed and revised
* Add functions for catch blocks in Compile
* Extract building semantic tree method
Creating main function to be moved to another class
* Rename UnitsSortedList
* Edit CompileUnitsFromDelayedList method
* Change a few variable names, make CreateRCFile function and add comments
* Make code more "user-friendly"
* Add TODOs 31.11.23
* Create PrebuildSemanticTreeActionsMethod
* Refactor semantic checks section in initialize new unit method
* Refactor Adding standard units to uses method
* Return file_name and compiler_directives original names to avoid internal compilation errors
* Refactor GetReferences Method
* Initial refactoring of IncludeNamespaces function
* Create three more methods and wrap important code in regions
* Add TODO's
* Resolve merge conflicts
* Add returned value to ConstructSyntaxTree method
* Fix UnitsSortedList NotFoundError in PCUWriter
* Workaround commit
* Update PABCSystem after tests' changes
* Rename syntax trees in some methods
* Delete CurrentSyntaxUnit variable
* Revert unnecessary project files changes
* Squashed commit of the following:
commit f4d7599f1a39252feac97bd5391f46dfdc25f6f4
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 22 11:43:29 2023 +0300
added links to identarranger
commit 3bd5d33e2b2969884e61a3279ff9c353013b57fe
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 22 11:43:03 2023 +0300
Change extension for verybasic to yavb
commit 61294c6e7d405e1c68516cc81d3a109e8a1ee295
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Tue Nov 21 09:33:57 2023 +0300
Change Program Example
commit 86971488341ed6bf13c39e13a513d7ac0c51c285
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Tue Nov 21 09:28:59 2023 +0300
Add IndentArranger to Compile
commit 2ce50bbbf9db22c4243b247b870f6935ce206d26
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Fri Nov 17 10:00:31 2023 +0300
Add Semicolon After Each Statement
commit 796309d340e8d8ba730ff9418fa376f34fb7fd36
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Wed Nov 15 18:49:11 2023 +0300
Add Alpha Version of Python-style If-statement
commit 5eb88f946fe8254b4f5c5a56ed0a567b3be51227
Merge: ab4ce5b0 0162b637
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 15 16:54:26 2023 +0300
Merge branch 'IndentArranger' into VeryBasicLanguage
commit ab4ce5b0e32d42004726e3dc45cc0d8a65e53f56
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 15 16:53:51 2023 +0300
Fixes from seminar
commit af74012289d0d08517c13499a2a66cb543fc06d2
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Sun Nov 12 18:57:29 2023 +0300
finally working!
fully implemented compatibility
commit 58a39c313324b468d1eec207ba3f5f6eddf74ef2
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Sun Nov 12 11:58:16 2023 +0300
more compatibility with pabc
Now verybasic statements translate to pascal compiler
added .bat script for autobuilding verybasic
commit 0162b6376b8fe970704f26213bf9f0f670dfb12e
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Sun Nov 12 10:06:14 2023 +0300
Update test.txt
commit 1b759ab1cd7ee2ffeb14afff0418ddf0f30b0399
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Sun Nov 12 10:05:36 2023 +0300
Add Indent and Unindent Keywords to Generated File
commit cabda7f3985651cff2a8740f1a5bdea8fe7ac892
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Fri Nov 10 21:25:52 2023 +0300
Add Generation of Output File
commit 306f033d0176ab559e3622b8505427dbe2e0e203
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Thu Nov 9 20:42:18 2023 +0300
Update IndentArranger.sln
commit 60c0ceced1aa3a7d2e33de0facb1126e295f43b5
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Thu Nov 9 20:41:22 2023 +0300
Add IndentArranger
commit 1f4556c4573dae154fcc167b41ff6ab9e8122136
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Mon Nov 6 22:48:36 2023 +0300
Made my own VeryBasicParser project
Copied some code from SaushkinParser
Tried to compile it and implement into Pascal
Doesn't work due to grammatik issue
* Squashed commit of the following:
commit 4e73d9ac3ffef68312f06a74dc83afffcf3ccbee
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 22 15:08:10 2023 +0300
Fixed GPPG (i think so at least)
commit e5cfc220828b37fb2f35e565683019716ec3f0ce
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 22 11:44:27 2023 +0300
Update Compiler.cs
commit 4698e2e75a5f3b4f523a8bc7733a50e8abb4fca1
Merge: 22aaf2b2 f4d7599f
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 22 11:43:54 2023 +0300
Merge branch 'IndentArrangerTemp' into VeryBasicLanguage
commit f4d7599f1a39252feac97bd5391f46dfdc25f6f4
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 22 11:43:29 2023 +0300
added links to identarranger
commit 3bd5d33e2b2969884e61a3279ff9c353013b57fe
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 22 11:43:03 2023 +0300
Change extension for verybasic to yavb
commit 22aaf2b2508278a9ffce525ffed52419bf72c23f
Merge: c326174f 61294c6e
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 22 11:26:36 2023 +0300
Merge branch 'IndentArrangerTemp' into VeryBasicLanguage
commit 61294c6e7d405e1c68516cc81d3a109e8a1ee295
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Tue Nov 21 09:33:57 2023 +0300
Change Program Example
commit 86971488341ed6bf13c39e13a513d7ac0c51c285
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Tue Nov 21 09:28:59 2023 +0300
Add IndentArranger to Compile
commit c326174ff5ecccf9c4f76d58aea4653f047af049
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Sun Nov 19 15:03:19 2023 +0300
Added UniversalParserHelper and GPPG
ShiftReduceParser moved to another project
UniversalParserHelper project added, most of it copied from SaushkinParser
commit 2ce50bbbf9db22c4243b247b870f6935ce206d26
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Fri Nov 17 10:00:31 2023 +0300
Add Semicolon After Each Statement
commit 796309d340e8d8ba730ff9418fa376f34fb7fd36
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Wed Nov 15 18:49:11 2023 +0300
Add Alpha Version of Python-style If-statement
commit 5eb88f946fe8254b4f5c5a56ed0a567b3be51227
Merge: ab4ce5b0 0162b637
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 15 16:54:26 2023 +0300
Merge branch 'IndentArranger' into VeryBasicLanguage
commit ab4ce5b0e32d42004726e3dc45cc0d8a65e53f56
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Wed Nov 15 16:53:51 2023 +0300
Fixes from seminar
commit af74012289d0d08517c13499a2a66cb543fc06d2
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Sun Nov 12 18:57:29 2023 +0300
finally working!
fully implemented compatibility
commit 58a39c313324b468d1eec207ba3f5f6eddf74ef2
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Sun Nov 12 11:58:16 2023 +0300
more compatibility with pabc
Now verybasic statements translate to pascal compiler
added .bat script for autobuilding verybasic
commit 0162b6376b8fe970704f26213bf9f0f670dfb12e
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Sun Nov 12 10:06:14 2023 +0300
Update test.txt
commit 1b759ab1cd7ee2ffeb14afff0418ddf0f30b0399
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Sun Nov 12 10:05:36 2023 +0300
Add Indent and Unindent Keywords to Generated File
commit cabda7f3985651cff2a8740f1a5bdea8fe7ac892
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Fri Nov 10 21:25:52 2023 +0300
Add Generation of Output File
commit 306f033d0176ab559e3622b8505427dbe2e0e203
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Thu Nov 9 20:42:18 2023 +0300
Update IndentArranger.sln
commit 60c0ceced1aa3a7d2e33de0facb1126e295f43b5
Author: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Date: Thu Nov 9 20:41:22 2023 +0300
Add IndentArranger
commit 1f4556c4573dae154fcc167b41ff6ab9e8122136
Author: Владислав Крылов <krylov@sfedu.ru>
Date: Mon Nov 6 22:48:36 2023 +0300
Made my own VeryBasicParser project
Copied some code from SaushkinParser
Tried to compile it and implement into Pascal
Doesn't work due to grammatik issue
* Changed GPPG project NET Framework version, added .dll to gitignore
* Adding UniversalParserHelper to project, trying to include VeryBasic
* Managed dependencies and got VeryBasicLanguage to work
* Change extension of a test program
* Rebuild changes
What should be added to .gitignore?
* Fix bug related to err0524_res_unit.pas
* Rebuild Parser
* Change Indent and Unindent tokens
* Add Symbol Table to ParserABC.y
* Change Indent Space Number to 2
* Add While Loop
* Add Some Operations to Parser
* Make Initialization Node at the Beginning of a program
* Create Grammar.txt
* Test program added
* Add ELIF and SyntaxHighlight
* Fix TableSymbol
* Add Division
* Add Method Call
* Add For Loop
* Rename SPython Parser Folder
* Add documented comments for CompileUnit method
* Added Errors to SPython
Added Errors.cs
Removed link to PABCSaushkinParser
Minor fixes
* Create default constructor for SourceContext
* Move null check of currentUnit to upper level in CompileUnit
* Move CreateMainFunction method from Compiler to TreeConverter class
* Add gppg and parserhelper to visualpascalabcnet dependencies
* Updated installer files to include GPPG and UniversalParserHelper
* Rename GPPG to ShiftReduceParser
* Fix ShiftReduceParser project dependencies
* Fix ShiftReduceParserDependencies second iteration
* Workaround commit
* Update PABCSystem after tests' changes
* Refactor ConvertDirectives method
* Get rid of legacy standard modules code
* Return varBeginOffset and beginOffset calculation to Compiler class
Размещение метода в SyntaxTreeToSemanticTreeConverter не целесообразно. В комментарии видимо имелось в виду что-то другое.
* Workaround commit
* Update PABCSystem after tests' changes
* Revert SPython changes
Оставляем только изменения связанные с рефакторингом.
* Update .gitignore
Co-authored-by: Sun Serega <sunserega2@gmail.com>
* Resolve a few Sun Serega treds
* Delete comments in ParsersController.cs
* Replace specific path with path variable in Studio.bat
* Add comment in Studio.bat file and return FileName in CompilerError.cs
* Fix TreeSubsidiary.cs encoding and sectCore.nsh indents
* Return old version of TestRunner.exe
* Rename some variables and polish a few methods
* Uncomment accidentally commented code
* Replace spaces with tabs
* Changed dll name from GPPG
* Revert "Changed dll name from GPPG"
This reverts commit c485cc8cb787809b7e9dfa8a361e75f17ed39893.
* Update .gitignore
* Delete Libraries/ShiftReduceParser.dll
* Delete bin\ShiftReduceParser.dll
* Replace tabs with spaces
* Update encoding in Studio.bat
* Fix bug with PABCrtl excluded files
* Refactor StandardModule class
* Add null checks to make debuging easier
* Delete unnecessary null checks in SymTable.cs
---------
Co-authored-by: Владислав Крылов <krylov@sfedu.ru>
Co-authored-by: MovchanGitHub <92666028+MovchanGitHub@users.noreply.github.com>
Co-authored-by: Sun Serega <sunserega2@gmail.com>
This commit is contained in:
parent
be62347a2a
commit
0c29ac92b2
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -37,6 +37,7 @@
|
||||||
**/CompilerController.dll
|
**/CompilerController.dll
|
||||||
**/CompilerTools.dll
|
**/CompilerTools.dll
|
||||||
**/Errors.dll
|
**/Errors.dll
|
||||||
|
**/ShiftReduceParser.dll
|
||||||
**/HelpBuilder.dll
|
**/HelpBuilder.dll
|
||||||
**/InternalErrorReport.dll
|
**/InternalErrorReport.dll
|
||||||
**/LambdaAnySynToSemConverter.dll
|
**/LambdaAnySynToSemConverter.dll
|
||||||
|
|
@ -70,6 +71,7 @@
|
||||||
**/PascalABCNET.exe.config
|
**/PascalABCNET.exe.config
|
||||||
**/PascalABCNETLinux.exe
|
**/PascalABCNETLinux.exe
|
||||||
**/PascalABCNETLinux.exe.config
|
**/PascalABCNETLinux.exe.config
|
||||||
|
**/UniversalParserHelper.dll
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -133,8 +133,8 @@ namespace CodeCompletion
|
||||||
Warnings.Clear();
|
Warnings.Clear();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//cu = ParsersController.GetComilationUnit(FileName, Text+")))));end.",comp.CompilerOptions.ParserSearchPatchs,ErrorsList);
|
//cu = ParsersController.GetComilationUnit(file_name, Text+")))));end.",comp.CompilerOptions.ParserSearchPatchs,ErrorsList);
|
||||||
//cu = ParsersControllerGetComilationUnit(FileName, get_temp_text(Text), ErrorsList, true);
|
//cu = ParsersControllerGetComilationUnit(file_name, get_temp_text(Text), ErrorsList, true);
|
||||||
string tmp = ParsersHelper.GetModifiedProgramm(Text);
|
string tmp = ParsersHelper.GetModifiedProgramm(Text);
|
||||||
if (tmp != null)
|
if (tmp != null)
|
||||||
{
|
{
|
||||||
|
|
@ -164,7 +164,7 @@ namespace CodeCompletion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (docs != null) docs.Clear();
|
if (docs != null) docs.Clear();
|
||||||
//if (dconv.is_compiled) comp_modules[FileName]=dconv;
|
//if (dconv.is_compiled) comp_modules[file_name]=dconv;
|
||||||
return dconv;
|
return dconv;
|
||||||
//ConvertToDom(cu);
|
//ConvertToDom(cu);
|
||||||
}
|
}
|
||||||
|
|
@ -233,7 +233,7 @@ namespace CodeCompletion
|
||||||
{
|
{
|
||||||
ErrorsList.Clear();
|
ErrorsList.Clear();
|
||||||
Warnings.Clear();
|
Warnings.Clear();
|
||||||
//cu = ParsersControllerGetComilationUnit(FileName, Text, ErrorsList, true);
|
//cu = ParsersControllerGetComilationUnit(file_name, Text, ErrorsList, true);
|
||||||
if (comp_modules[FileName] == null)
|
if (comp_modules[FileName] == null)
|
||||||
{
|
{
|
||||||
string tmp = ParsersHelper.GetModifiedProgramm(Text);
|
string tmp = ParsersHelper.GetModifiedProgramm(Text);
|
||||||
|
|
@ -260,7 +260,7 @@ namespace CodeCompletion
|
||||||
dconv.ConvertToDom(cu);
|
dconv.ConvertToDom(cu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//comp_modules[FileName] = dconv;
|
//comp_modules[file_name] = dconv;
|
||||||
if (dconv.is_compiled) comp_modules[FileName] = dconv;
|
if (dconv.is_compiled) comp_modules[FileName] = dconv;
|
||||||
|
|
||||||
if (docs != null) docs.Clear();
|
if (docs != null) docs.Clear();
|
||||||
|
|
@ -299,7 +299,7 @@ namespace CodeCompletion
|
||||||
{
|
{
|
||||||
ErrorsList.Clear();
|
ErrorsList.Clear();
|
||||||
Warnings.Clear();
|
Warnings.Clear();
|
||||||
//cu = ParsersControllerGetComilationUnit(FileName, Text, ErrorsList, true);
|
//cu = ParsersControllerGetComilationUnit(file_name, Text, ErrorsList, true);
|
||||||
if (comp_modules[FileName] == null)
|
if (comp_modules[FileName] == null)
|
||||||
{
|
{
|
||||||
string tmp = ParsersHelper.GetModifiedProgramm(Text);
|
string tmp = ParsersHelper.GetModifiedProgramm(Text);
|
||||||
|
|
@ -327,7 +327,7 @@ namespace CodeCompletion
|
||||||
}
|
}
|
||||||
if (dconv.is_compiled) comp_modules[FileName] = dconv;
|
if (dconv.is_compiled) comp_modules[FileName] = dconv;
|
||||||
if (docs != null) docs.Clear();
|
if (docs != null) docs.Clear();
|
||||||
//comp_modules[FileName] = dconv;
|
//comp_modules[file_name] = dconv;
|
||||||
// GC.Collect();
|
// GC.Collect();
|
||||||
return dconv;
|
return dconv;
|
||||||
}
|
}
|
||||||
|
|
@ -376,9 +376,11 @@ namespace CodeCompletion
|
||||||
const string LibSourceDirectoryIdent = "%LIBSOURCEDIRECTORY%";
|
const string LibSourceDirectoryIdent = "%LIBSOURCEDIRECTORY%";
|
||||||
public static string FindSourceFileName(string unit_name, out int found_dir_ind, params string[] ddirs)
|
public static string FindSourceFileName(string unit_name, out int found_dir_ind, params string[] ddirs)
|
||||||
{
|
{
|
||||||
|
// TODO: check error in older version
|
||||||
List<string> Dirs = new List<string>();
|
List<string> Dirs = new List<string>();
|
||||||
Dirs.AddRange(ddirs);
|
Dirs.AddRange(ddirs);
|
||||||
Dirs.AddRange(CodeCompletionController.comp.CompilerOptions.SearchDirectory);
|
if (CodeCompletionController.comp != null)
|
||||||
|
Dirs.AddRange(CodeCompletionController.comp.CompilerOptions.SearchDirectory);
|
||||||
if (CodeCompletionController.StandartDirectories.ContainsKey(LibSourceDirectoryIdent))
|
if (CodeCompletionController.StandartDirectories.ContainsKey(LibSourceDirectoryIdent))
|
||||||
Dirs.Add((string)CodeCompletionController.StandartDirectories[LibSourceDirectoryIdent]);
|
Dirs.Add((string)CodeCompletionController.StandartDirectories[LibSourceDirectoryIdent]);
|
||||||
return CodeCompletionController.comp.FindSourceFileNameInDirs(unit_name, out found_dir_ind, Dirs.ToArray());
|
return CodeCompletionController.comp.FindSourceFileNameInDirs(unit_name, out found_dir_ind, Dirs.ToArray());
|
||||||
|
|
|
||||||
|
|
@ -4829,7 +4829,7 @@ namespace CodeCompletion
|
||||||
{
|
{
|
||||||
//throw new Exception("The method or operation is not implemented.");
|
//throw new Exception("The method or operation is not implemented.");
|
||||||
SymScope tmp = cur_scope;
|
SymScope tmp = cur_scope;
|
||||||
unl.clear();
|
unl.Clear();
|
||||||
cur_scope = new ImplementationUnitScope(new SymInfo("$implementation", SymbolKind.Namespace, "implementation"), cur_scope);
|
cur_scope = new ImplementationUnitScope(new SymInfo("$implementation", SymbolKind.Namespace, "implementation"), cur_scope);
|
||||||
tmp.AddName("$implementation", cur_scope);
|
tmp.AddName("$implementation", cur_scope);
|
||||||
(tmp as InterfaceUnitScope).impl_scope = cur_scope as ImplementationUnitScope;
|
(tmp as InterfaceUnitScope).impl_scope = cur_scope as ImplementationUnitScope;
|
||||||
|
|
|
||||||
|
|
@ -5250,7 +5250,7 @@ namespace CodeCompletion
|
||||||
{
|
{
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.si = new SymInfo(name, SymbolKind.Namespace, name);
|
this.si = new SymInfo(name, SymbolKind.Namespace, name);
|
||||||
this.si.description = CodeCompletionController.CurrentParser.LanguageInformation.GetDescription(this);
|
this.si.description = CodeCompletionController.CurrentParser?.LanguageInformation.GetDescription(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override ScopeKind Kind
|
public override ScopeKind Kind
|
||||||
|
|
@ -5559,7 +5559,7 @@ namespace CodeCompletion
|
||||||
}
|
}
|
||||||
if (si.name == null)
|
if (si.name == null)
|
||||||
AssemblyDocCache.AddDescribeToComplete(this.si, ctn);
|
AssemblyDocCache.AddDescribeToComplete(this.si, ctn);
|
||||||
this.si.name = CodeCompletionController.CurrentParser.LanguageInformation.GetShortName(this);
|
this.si.name = CodeCompletionController.CurrentParser?.LanguageInformation.GetShortName(this);
|
||||||
this.si.kind = get_kind();
|
this.si.kind = get_kind();
|
||||||
this.si.description = GetDescription();
|
this.si.description = GetDescription();
|
||||||
|
|
||||||
|
|
@ -6196,7 +6196,7 @@ namespace CodeCompletion
|
||||||
|
|
||||||
public override string GetDescription()
|
public override string GetDescription()
|
||||||
{
|
{
|
||||||
return CodeCompletionController.CurrentParser.LanguageInformation.GetDescription(this);
|
return CodeCompletionController.CurrentParser?.LanguageInformation.GetDescription(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SymInfo[] GetNames(ExpressionVisitor ev, PascalABCCompiler.Parsers.KeywordKind keyword, bool called_in_base)
|
public override SymInfo[] GetNames(ExpressionVisitor ev, PascalABCCompiler.Parsers.KeywordKind keyword, bool called_in_base)
|
||||||
|
|
|
||||||
4401
Compiler/Compiler.cs
4401
Compiler/Compiler.cs
File diff suppressed because it is too large
Load diff
|
|
@ -24,7 +24,7 @@ namespace PascalABCCompiler
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
this.cu = cu;
|
this.cu = cu;
|
||||||
is_assembly = cu.SyntaxTree is SyntaxTree.program_module || Compiler.is_dll(cu.SyntaxTree);
|
is_assembly = cu.SyntaxTree is SyntaxTree.program_module || Compiler.IsDll(cu.SyntaxTree);
|
||||||
XmlWriterSettings settings = new XmlWriterSettings();
|
XmlWriterSettings settings = new XmlWriterSettings();
|
||||||
settings.Encoding = Encoding.UTF8;
|
settings.Encoding = Encoding.UTF8;
|
||||||
settings.Indent = true;
|
settings.Indent = true;
|
||||||
|
|
|
||||||
|
|
@ -259,7 +259,7 @@ namespace PascalABCCompiler.PCU
|
||||||
PCUReader pr = (PCUReader)units[FileName];
|
PCUReader pr = (PCUReader)units[FileName];
|
||||||
if (pr != null) return pr.unit;
|
if (pr != null) return pr.unit;
|
||||||
if (!File.Exists(FileName)) return null;
|
if (!File.Exists(FileName)) return null;
|
||||||
//fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);
|
//fs = new FileStream(file_name, FileMode.Open, FileAccess.Read);
|
||||||
ms = new MemoryStream(File.ReadAllBytes(FileName));
|
ms = new MemoryStream(File.ReadAllBytes(FileName));
|
||||||
br = new BinaryReader(ms);
|
br = new BinaryReader(ms);
|
||||||
ReadPCUHeader();
|
ReadPCUHeader();
|
||||||
|
|
@ -274,7 +274,7 @@ namespace PascalABCCompiler.PCU
|
||||||
CloseUnit();
|
CloseUnit();
|
||||||
this.unit = null;
|
this.unit = null;
|
||||||
need = true;
|
need = true;
|
||||||
return null; // return comp.RecompileUnit(FileName);
|
return null; // return comp.RecompileUnit(file_name);
|
||||||
}
|
}
|
||||||
ChangeState(this, PCUReaderWriterState.BeginReadTree, unit);
|
ChangeState(this, PCUReaderWriterState.BeginReadTree, unit);
|
||||||
cun.scope = new WrappedUnitInterfaceScope(this);
|
cun.scope = new WrappedUnitInterfaceScope(this);
|
||||||
|
|
@ -369,7 +369,7 @@ namespace PascalABCCompiler.PCU
|
||||||
{
|
{
|
||||||
var sub_u = pr.GetCompilationUnit(used_unit_fname, this.readDebugInfo);
|
var sub_u = pr.GetCompilationUnit(used_unit_fname, this.readDebugInfo);
|
||||||
if (sub_u == null) return true;
|
if (sub_u == null) return true;
|
||||||
this.unit.DirectInterfaceCompilationUnits.Add(sub_u.SemanticTree, sub_u);
|
this.unit.InterfaceUsedDirectUnits.Add(sub_u.SemanticTree, sub_u);
|
||||||
this.unit.InterfaceUsedUnits.AddElement(sub_u.SemanticTree, pcu_file.incl_modules[i]);
|
this.unit.InterfaceUsedUnits.AddElement(sub_u.SemanticTree, pcu_file.incl_modules[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -885,7 +885,7 @@ namespace PascalABCCompiler.PCU
|
||||||
comp_cnn = (tn as common_generic_instance_type_node).common_original_generic.comprehensive_namespace;
|
comp_cnn = (tn as common_generic_instance_type_node).common_original_generic.comprehensive_namespace;
|
||||||
if (comp_cnn != null && !ns_dict.ContainsKey(comp_cnn) && unit.SemanticTree != comp_cnn.cont_unit)
|
if (comp_cnn != null && !ns_dict.ContainsKey(comp_cnn) && unit.SemanticTree != comp_cnn.cont_unit)
|
||||||
{
|
{
|
||||||
var path = Compiler.GetUnitPath(unit, compiler.UnitsSortedList.Find(u => u.SemanticTree == comp_cnn.cont_unit));
|
var path = Compiler.GetUnitPath(unit, compiler.UnitsLogicallySortedList.Find(u => u.SemanticTree == comp_cnn.cont_unit));
|
||||||
|
|
||||||
if (interf)
|
if (interf)
|
||||||
unit.InterfaceUsedUnits.AddElement(comp_cnn.cont_unit, path);
|
unit.InterfaceUsedUnits.AddElement(comp_cnn.cont_unit, path);
|
||||||
|
|
@ -904,7 +904,7 @@ namespace PascalABCCompiler.PCU
|
||||||
common_namespace_node comp_cnn = cnfn.namespace_node;
|
common_namespace_node comp_cnn = cnfn.namespace_node;
|
||||||
if (comp_cnn != null && !ns_dict.ContainsKey(comp_cnn) && unit.SemanticTree != comp_cnn.cont_unit)
|
if (comp_cnn != null && !ns_dict.ContainsKey(comp_cnn) && unit.SemanticTree != comp_cnn.cont_unit)
|
||||||
{
|
{
|
||||||
var path = Compiler.GetUnitPath(unit, compiler.UnitsSortedList.Find(u => u.SemanticTree == comp_cnn.cont_unit));
|
var path = Compiler.GetUnitPath(unit, compiler.UnitsLogicallySortedList.Find(u => u.SemanticTree == comp_cnn.cont_unit));
|
||||||
|
|
||||||
if (interf)
|
if (interf)
|
||||||
unit.InterfaceUsedUnits.AddElement(comp_cnn.cont_unit, path);
|
unit.InterfaceUsedUnits.AddElement(comp_cnn.cont_unit, path);
|
||||||
|
|
|
||||||
|
|
@ -388,7 +388,7 @@ namespace PascalABCCompiler
|
||||||
sendCommand(ConsoleCompilerConstants.CompilerOptionsClearStandartModules);
|
sendCommand(ConsoleCompilerConstants.CompilerOptionsClearStandartModules);
|
||||||
if (compilerOptions.Locale != null)
|
if (compilerOptions.Locale != null)
|
||||||
sendCommand(ConsoleCompilerConstants.CompilerLocale, compilerOptions.Locale);
|
sendCommand(ConsoleCompilerConstants.CompilerLocale, compilerOptions.Locale);
|
||||||
foreach (PascalABCCompiler.CompilerOptions.StandartModule sm in compilerOptions.StandartModules)
|
foreach (PascalABCCompiler.CompilerOptions.StandardModule sm in compilerOptions.StandardModules)
|
||||||
sendCommand(
|
sendCommand(
|
||||||
ConsoleCompilerConstants.CompilerOptionsStandartModule,
|
ConsoleCompilerConstants.CompilerOptionsStandartModule,
|
||||||
sm.Name,(int)sm.AddMethod,(int)sm.AddToLanguages);
|
sm.Name,(int)sm.AddMethod,(int)sm.AddToLanguages);
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
||||||
public const string Major = "3";
|
public const string Major = "3";
|
||||||
public const string Minor = "9";
|
public const string Minor = "9";
|
||||||
public const string Build = "0";
|
public const string Build = "0";
|
||||||
public const string Revision = "3390";
|
public const string Revision = "3391";
|
||||||
|
|
||||||
public const string MainVersion = Major + "." + Minor;
|
public const string MainVersion = Major + "." + Minor;
|
||||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
%COREVERSION%=0
|
|
||||||
%REVISION%=3390
|
|
||||||
%MINOR%=9
|
%MINOR%=9
|
||||||
|
%REVISION%=3391
|
||||||
|
%COREVERSION%=0
|
||||||
%MAJOR%=3
|
%MAJOR%=3
|
||||||
|
|
|
||||||
|
|
@ -51,8 +51,8 @@ namespace PascalABCCompiler.Errors
|
||||||
if (source_context != null)
|
if (source_context != null)
|
||||||
pos = "(" + source_context.begin_position.line_num + "," + source_context.begin_position.column_num + ")";
|
pos = "(" + source_context.begin_position.line_num + "," + source_context.begin_position.column_num + ")";
|
||||||
string fn = null;
|
string fn = null;
|
||||||
if (FileName != null)
|
if (file_name != null)
|
||||||
fn = Path.GetFileName(FileName);
|
fn = Path.GetFileName(file_name);
|
||||||
return string.Format(StringResources.Get("PARSER_ERRORS_COMPILATION_ERROR{0}{1}{2}"), fn, pos, Message);
|
return string.Format(StringResources.Get("PARSER_ERRORS_COMPILATION_ERROR{0}{1}{2}"), fn, pos, Message);
|
||||||
*/
|
*/
|
||||||
return (new CompilerInternalError("Errors.ToString",new Exception(string.Format("Не переопеределена {0}.ToString",this.GetType())))).ToString();
|
return (new CompilerInternalError("Errors.ToString",new Exception(string.Format("Не переопеределена {0}.ToString",this.GetType())))).ToString();
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -22,7 +22,7 @@ namespace PascalABCCompiler.CodeGenerators
|
||||||
{
|
{
|
||||||
private NETGenerator.ILConverter il_converter;//=new NETGenerator.ILConverter();
|
private NETGenerator.ILConverter il_converter;//=new NETGenerator.ILConverter();
|
||||||
|
|
||||||
public void Compile(SemanticTree.IProgramNode ProgramTree,string TargetFileName,string SourceFileName ,
|
public void GenerateILCodeAndSaveAssembly(SemanticTree.IProgramNode ProgramTree,string TargetFileName,string SourceFileName ,
|
||||||
NETGenerator.CompilerOptions options, Hashtable StandartDirectories, string[] ResourceFiles)
|
NETGenerator.CompilerOptions options, Hashtable StandartDirectories, string[] ResourceFiles)
|
||||||
{
|
{
|
||||||
il_converter = new NETGenerator.ILConverter(StandartDirectories);
|
il_converter = new NETGenerator.ILConverter(StandartDirectories);
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,9 @@ using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using PascalABCCompiler.ParserTools;
|
using PascalABCCompiler.ParserTools;
|
||||||
using PascalABCCompiler.Errors;
|
using PascalABCCompiler.Errors;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace PascalABCCompiler.Parsers
|
namespace PascalABCCompiler.Parsers
|
||||||
{
|
{
|
||||||
|
|
@ -27,22 +29,6 @@ namespace PascalABCCompiler.Parsers
|
||||||
IParser pc = null;
|
IParser pc = null;
|
||||||
foreach (FileInfo fi in dllfiles)
|
foreach (FileInfo fi in dllfiles)
|
||||||
{
|
{
|
||||||
/*if (Path.GetFileName(fi.FullName)=="PascalABCParser.dll" &&
|
|
||||||
string.Compare(Path.GetFileName(System.Reflection.Assembly.GetEntryAssembly().ManifestModule.FullyQualifiedName),"PascalABCNET.exe",true)==0)
|
|
||||||
continue;
|
|
||||||
else
|
|
||||||
if (Path.GetFileName(fi.FullName)=="PascalABCPartParser.dll" &&
|
|
||||||
string.Compare(Path.GetFileName(System.Reflection.Assembly.GetEntryAssembly().ManifestModule.FullyQualifiedName),"pabcnetc.exe",true)==0)
|
|
||||||
continue;*/
|
|
||||||
//if (Path.GetFileName(fi.FullName) != "PascalABCParser.dll" && Path.GetFileName(fi.FullName) != "VBNETParser.dll")
|
|
||||||
// continue;
|
|
||||||
//if (Path.GetFileName(fi.FullName) == "VBNETParser.dll" || Path.GetFileName(fi.FullName) == "PascalABCPartParser.dll")
|
|
||||||
//if (Path.GetFileName(fi.FullName) != "PascalABCParser.dll" && Path.GetFileName(fi.FullName) != "VBNETParser.dll")
|
|
||||||
// continue;
|
|
||||||
//if (Path.GetFileName(fi.FullName) == "PascalABCPartParser.dll")
|
|
||||||
// continue;
|
|
||||||
//if (Path.GetFileName(fi.FullName) != "PascalABCParser.dll" /*&& Path.GetFileName(fi.FullName) != "VBNETParser.dll"*/)
|
|
||||||
// continue;
|
|
||||||
if (Path.GetFileName(fi.FullName) == "VBNETParser.dll" || Path.GetFileName(fi.FullName) == "PascalABCPartParser.dll")
|
if (Path.GetFileName(fi.FullName) == "VBNETParser.dll" || Path.GetFileName(fi.FullName) == "PascalABCPartParser.dll")
|
||||||
continue;
|
continue;
|
||||||
asssembly = System.Reflection.Assembly.LoadFile(fi.FullName);
|
asssembly = System.Reflection.Assembly.LoadFile(fi.FullName);
|
||||||
|
|
@ -142,6 +128,7 @@ namespace PascalABCCompiler.Parsers
|
||||||
return null;
|
return null;
|
||||||
if (cu is SyntaxTree.compilation_unit)
|
if (cu is SyntaxTree.compilation_unit)
|
||||||
return cu as SyntaxTree.compilation_unit;
|
return cu as SyntaxTree.compilation_unit;
|
||||||
|
|
||||||
Errors.Add(new Errors.UnexpectedNodeType(FileName, cu.source_context,null));
|
Errors.Add(new Errors.UnexpectedNodeType(FileName, cu.source_context,null));
|
||||||
return null;
|
return null;
|
||||||
//throw new Errors.CompilerInternalError("Parsers.Controller.GetComilationUnit", new Exception("bad node type"));
|
//throw new Errors.CompilerInternalError("Parsers.Controller.GetComilationUnit", new Exception("bad node type"));
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,8 @@ namespace PascalABCCompiler
|
||||||
{
|
{
|
||||||
case SourceFileOperation.GetText:
|
case SourceFileOperation.GetText:
|
||||||
if (!File.Exists(FileName)) return null;
|
if (!File.Exists(FileName)) return null;
|
||||||
/*TextReader tr = new StreamReader(FileName, System.Text.Encoding.GetEncoding(1251));
|
/*TextReader tr = new StreamReader(file_name, System.Text.Encoding.GetEncoding(1251));
|
||||||
//TextReader tr = new StreamReader(FileName, System.Text.Encoding.);
|
//TextReader tr = new StreamReader(file_name, System.Text.Encoding.);
|
||||||
string Text = tr.ReadToEnd();
|
string Text = tr.ReadToEnd();
|
||||||
tr.Close();*/
|
tr.Close();*/
|
||||||
string Text = FileReader.ReadFileContent(FileName, null);
|
string Text = FileReader.ReadFileContent(FileName, null);
|
||||||
|
|
|
||||||
|
|
@ -788,7 +788,7 @@ namespace CodeCompletionTools
|
||||||
|
|
||||||
public static XmlDoc Load(string fileName, string cachePath, bool ru)
|
public static XmlDoc Load(string fileName, string cachePath, bool ru)
|
||||||
{
|
{
|
||||||
//LoggingService.Debug("Loading XmlDoc for " + fileName);
|
//LoggingService.Debug("Loading XmlDoc for " + file_name);
|
||||||
XmlDoc doc;
|
XmlDoc doc;
|
||||||
string cacheName = null;
|
string cacheName = null;
|
||||||
if (cachePath != null) {
|
if (cachePath != null) {
|
||||||
|
|
@ -814,12 +814,12 @@ namespace CodeCompletionTools
|
||||||
doc = Load(xmlReader);
|
doc = Load(xmlReader);
|
||||||
}
|
}
|
||||||
} catch (XmlException ex) {
|
} catch (XmlException ex) {
|
||||||
//LoggingService.Warn("Error loading XmlDoc " + fileName, ex);
|
//LoggingService.Warn("Error loading XmlDoc " + file_name, ex);
|
||||||
return new XmlDoc();
|
return new XmlDoc();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cachePath != null && doc.xmlDescription.Count > cacheLength * 2) {
|
if (cachePath != null && doc.xmlDescription.Count > cacheLength * 2) {
|
||||||
//LoggingService.Debug("XmlDoc: Creating cache for " + fileName);
|
//LoggingService.Debug("XmlDoc: Creating cache for " + file_name);
|
||||||
DateTime date = File.GetLastWriteTimeUtc(fileName);
|
DateTime date = File.GetLastWriteTimeUtc(fileName);
|
||||||
try {
|
try {
|
||||||
doc.Save(cacheName, date);
|
doc.Save(cacheName, date);
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -190,7 +190,7 @@ namespace PascalABCCompiler.PascalABCNewParser
|
||||||
Errors.Clear();
|
Errors.Clear();
|
||||||
Warnings.Clear();
|
Warnings.Clear();
|
||||||
/*string[] file_names = new string[1];
|
/*string[] file_names = new string[1];
|
||||||
file_names[0] = FileName;
|
file_names[0] = file_name;
|
||||||
|
|
||||||
preprocessor2.Build(file_names, Errors, null);*/
|
preprocessor2.Build(file_names, Errors, null);*/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -111,9 +111,6 @@
|
||||||
<Compile Include="Preprocessor3Yacc.cs" />
|
<Compile Include="Preprocessor3Yacc.cs" />
|
||||||
<Compile Include="PreprocessorTools.cs" />
|
<Compile Include="PreprocessorTools.cs" />
|
||||||
<Compile Include="SemanticRules.cs" />
|
<Compile Include="SemanticRules.cs" />
|
||||||
<Compile Include="ShiftReduceParserCode.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\Errors\Errors.csproj">
|
<ProjectReference Include="..\..\Errors\Errors.csproj">
|
||||||
|
|
@ -128,6 +125,10 @@
|
||||||
<Project>{AF2EFD7B-69DD-4B43-AF65-B59B29349C23}</Project>
|
<Project>{AF2EFD7B-69DD-4B43-AF65-B59B29349C23}</Project>
|
||||||
<Name>ParserTools</Name>
|
<Name>ParserTools</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\..\ShiftReduceParser\ShiftReduceParser.csproj">
|
||||||
|
<Project>{ad4e1292-2537-467a-934d-e9fda3f18d87}</Project>
|
||||||
|
<Name>ShiftReduceParser</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\..\SyntaxTree\SyntaxTree.csproj">
|
<ProjectReference Include="..\..\SyntaxTree\SyntaxTree.csproj">
|
||||||
<Project>{C2CAC65A-B2AE-4CCC-B067-E6B8E75DF73A}</Project>
|
<Project>{C2CAC65A-B2AE-4CCC-B067-E6B8E75DF73A}</Project>
|
||||||
<Name>SyntaxTree</Name>
|
<Name>SyntaxTree</Name>
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,17 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 15
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 15.0.28307.1000
|
VisualStudioVersion = 17.8.34309.116
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VisualPascalABCNET", "VisualPascalABCNET", "{26843C5D-9D7E-4C2C-AC14-2D227FA5592E}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VisualPascalABCNET", "VisualPascalABCNET", "{26843C5D-9D7E-4C2C-AC14-2D227FA5592E}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PluginsSupport", "PluginsSupport\PluginsSupport.csproj", "{CFC683F8-0165-4A9F-9C3F-BB8C5BAB507F}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PluginsSupport", "PluginsSupport\PluginsSupport.csproj", "{CFC683F8-0165-4A9F-9C3F-BB8C5BAB507F}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VisualPascalABCNET", "VisualPascalABCNET\VisualPascalABCNET.csproj", "{BC35F816-54EE-47E0-89FC-1C66EAC155A9}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VisualPascalABCNET", "VisualPascalABCNET\VisualPascalABCNET.csproj", "{BC35F816-54EE-47E0-89FC-1C66EAC155A9}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87} = {AD4E1292-2537-467A-934D-E9FDA3F18D87}
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82} = {E862A9EF-836B-414B-AAC4-9D207CABDC82}
|
||||||
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{EC68A3D8-6D63-4A79-ABA6-BF8E9D7756D7}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{EC68A3D8-6D63-4A79-ABA6-BF8E9D7756D7}"
|
||||||
EndProject
|
EndProject
|
||||||
|
|
@ -18,8 +22,8 @@ EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompilerController", "VisualPlugins\CompilerController\CompilerController.csproj", "{50F4AB3F-0A1E-4AF9-88CF-48A8D3E1D1D7}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompilerController", "VisualPlugins\CompilerController\CompilerController.csproj", "{50F4AB3F-0A1E-4AF9-88CF-48A8D3E1D1D7}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{1E42361A-EDA3-4872-88AF-A3AAF600D36D} = {1E42361A-EDA3-4872-88AF-A3AAF600D36D}
|
{1E42361A-EDA3-4872-88AF-A3AAF600D36D} = {1E42361A-EDA3-4872-88AF-A3AAF600D36D}
|
||||||
{CFC683F8-0165-4A9F-9C3F-BB8C5BAB507F} = {CFC683F8-0165-4A9F-9C3F-BB8C5BAB507F}
|
|
||||||
{A25D26FB-3043-4BCF-833E-E3F4C3BE795E} = {A25D26FB-3043-4BCF-833E-E3F4C3BE795E}
|
{A25D26FB-3043-4BCF-833E-E3F4C3BE795E} = {A25D26FB-3043-4BCF-833E-E3F4C3BE795E}
|
||||||
|
{CFC683F8-0165-4A9F-9C3F-BB8C5BAB507F} = {CFC683F8-0165-4A9F-9C3F-BB8C5BAB507F}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InternalErrorReport", "VisualPlugins\InternalErrorReport\InternalErrorReport.csproj", "{A36031B7-D3D1-4372-B478-07621069602E}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InternalErrorReport", "VisualPlugins\InternalErrorReport\InternalErrorReport.csproj", "{A36031B7-D3D1-4372-B478-07621069602E}"
|
||||||
|
|
@ -85,8 +89,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms",
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PABCNETCclear", "pabcnetc_clear\PABCNETCclear.csproj", "{146083AD-6684-4EBC-A539-AAD749A16364}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PABCNETCclear", "pabcnetc_clear\PABCNETCclear.csproj", "{146083AD-6684-4EBC-A539-AAD749A16364}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PascalABCSaushkinParser", "Parsers\PascalABCParserNewSaushkin\PascalABCSaushkinParser.csproj", "{1443F539-DCC7-4491-B4FD-B716C739DB3C}"
|
|
||||||
EndProject
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{DA0402DA-D618-47B4-8BF0-2959D16F2160}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{DA0402DA-D618-47B4-8BF0-2959D16F2160}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SyntaxTreeConverters", "SyntaxTreeConverters\SyntaxTreeConverters.csproj", "{F10A5330-DCF4-4533-877C-7B1B1BE23884}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SyntaxTreeConverters", "SyntaxTreeConverters\SyntaxTreeConverters.csproj", "{F10A5330-DCF4-4533-877C-7B1B1BE23884}"
|
||||||
|
|
@ -107,6 +109,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TeacherControlPlugin", "Vis
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LambdaAnySynToSemConverter", "LambdaAnySynToSemConverter\LambdaAnySynToSemConverter.csproj", "{27D9800E-2689-4AA1-A2D6-128E4A9BAE98}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LambdaAnySynToSemConverter", "LambdaAnySynToSemConverter\LambdaAnySynToSemConverter.csproj", "{27D9800E-2689-4AA1-A2D6-128E4A9BAE98}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShiftReduceParser", "ShiftReduceParser\ShiftReduceParser.csproj", "{AD4E1292-2537-467A-934D-E9FDA3F18D87}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PascalABCSaushkinParser", "Parsers\PascalABCParserNewSaushkin\PascalABCSaushkinParser.csproj", "{1443F539-DCC7-4491-B4FD-B716C739DB3C}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalParserHelper", "UniversalParserHelper\UniversalParserHelper.csproj", "{E862A9EF-836B-414B-AAC4-9D207CABDC82}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
|
@ -387,16 +395,6 @@ Global
|
||||||
{146083AD-6684-4EBC-A539-AAD749A16364}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
{146083AD-6684-4EBC-A539-AAD749A16364}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||||
{146083AD-6684-4EBC-A539-AAD749A16364}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
{146083AD-6684-4EBC-A539-AAD749A16364}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||||
{146083AD-6684-4EBC-A539-AAD749A16364}.Release|x86.ActiveCfg = Release|Any CPU
|
{146083AD-6684-4EBC-A539-AAD749A16364}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{F10A5330-DCF4-4533-877C-7B1B1BE23884}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{F10A5330-DCF4-4533-877C-7B1B1BE23884}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{F10A5330-DCF4-4533-877C-7B1B1BE23884}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{F10A5330-DCF4-4533-877C-7B1B1BE23884}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{F10A5330-DCF4-4533-877C-7B1B1BE23884}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
{F10A5330-DCF4-4533-877C-7B1B1BE23884}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||||
|
|
@ -501,6 +499,42 @@ Global
|
||||||
{27D9800E-2689-4AA1-A2D6-128E4A9BAE98}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
{27D9800E-2689-4AA1-A2D6-128E4A9BAE98}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||||
{27D9800E-2689-4AA1-A2D6-128E4A9BAE98}.Release|x86.ActiveCfg = Release|Any CPU
|
{27D9800E-2689-4AA1-A2D6-128E4A9BAE98}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{27D9800E-2689-4AA1-A2D6-128E4A9BAE98}.Release|x86.Build.0 = Release|Any CPU
|
{27D9800E-2689-4AA1-A2D6-128E4A9BAE98}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82}.Release|x86.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
@ -536,7 +570,6 @@ Global
|
||||||
{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {A5A3667E-8A3B-4569-BA0E-AD49E12D07E7}
|
{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {A5A3667E-8A3B-4569-BA0E-AD49E12D07E7}
|
||||||
{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {A5A3667E-8A3B-4569-BA0E-AD49E12D07E7}
|
{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {A5A3667E-8A3B-4569-BA0E-AD49E12D07E7}
|
||||||
{146083AD-6684-4EBC-A539-AAD749A16364} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
{146083AD-6684-4EBC-A539-AAD749A16364} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
||||||
{1443F539-DCC7-4491-B4FD-B716C739DB3C} = {BB6973BA-B3A2-4B31-A986-7CB008F22C4F}
|
|
||||||
{F10A5330-DCF4-4533-877C-7B1B1BE23884} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
{F10A5330-DCF4-4533-877C-7B1B1BE23884} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
||||||
{CE5C55C2-A11C-4E94-A9FA-3FC6CA3E4C09} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
{CE5C55C2-A11C-4E94-A9FA-3FC6CA3E4C09} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
||||||
{A9AB4282-83B4-41A7-86C3-E5BF6A45E7E2} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
{A9AB4282-83B4-41A7-86C3-E5BF6A45E7E2} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
||||||
|
|
@ -546,6 +579,9 @@ Global
|
||||||
{E009E776-9280-4061-B5CA-7F0C3E2D3C2A} = {26843C5D-9D7E-4C2C-AC14-2D227FA5592E}
|
{E009E776-9280-4061-B5CA-7F0C3E2D3C2A} = {26843C5D-9D7E-4C2C-AC14-2D227FA5592E}
|
||||||
{536CC813-7C4E-42BC-AE3A-BA1427F38756} = {EC68A3D8-6D63-4A79-ABA6-BF8E9D7756D7}
|
{536CC813-7C4E-42BC-AE3A-BA1427F38756} = {EC68A3D8-6D63-4A79-ABA6-BF8E9D7756D7}
|
||||||
{27D9800E-2689-4AA1-A2D6-128E4A9BAE98} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
{27D9800E-2689-4AA1-A2D6-128E4A9BAE98} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
||||||
|
{AD4E1292-2537-467A-934D-E9FDA3F18D87} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
||||||
|
{1443F539-DCC7-4491-B4FD-B716C739DB3C} = {BB6973BA-B3A2-4B31-A986-7CB008F22C4F}
|
||||||
|
{E862A9EF-836B-414B-AAC4-9D207CABDC82} = {F8CE2712-826B-450B-A72F-D32D80C99858}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {68E993E6-EE86-4DDF-B0A1-4FE884F8AC39}
|
SolutionGuid = {68E993E6-EE86-4DDF-B0A1-4FE884F8AC39}
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
3.9.0.3390
|
3.9.0.3391
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
!define VERSION '3.9.0.3390'
|
!define VERSION '3.9.0.3391'
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
Section $(DESC_Core) Core
|
Section $(DESC_Core) Core
|
||||||
SectionIn 1 2 RO
|
SectionIn 1 2 RO
|
||||||
SetOutPath "$INSTDIR"
|
SetOutPath "$INSTDIR"
|
||||||
File ExecHide.exe
|
File ExecHide.exe
|
||||||
File "..\bin\Compiler.dll"
|
File "..\bin\Compiler.dll"
|
||||||
File "..\bin\CompilerTools.dll"
|
File "..\bin\CompilerTools.dll"
|
||||||
File "..\bin\Errors.dll"
|
File "..\bin\Errors.dll"
|
||||||
|
File "..\bin\ShiftReduceParser.dll"
|
||||||
File "..\bin\Localization.dll"
|
File "..\bin\Localization.dll"
|
||||||
File "..\bin\NETGenerator.dll"
|
File "..\bin\NETGenerator.dll"
|
||||||
File "..\bin\ParserTools.dll"
|
File "..\bin\ParserTools.dll"
|
||||||
|
|
@ -28,7 +29,8 @@
|
||||||
File "..\bin\Mono.Cecil.dll"
|
File "..\bin\Mono.Cecil.dll"
|
||||||
File "..\bin\TeacherControlPlugin.dll"
|
File "..\bin\TeacherControlPlugin.dll"
|
||||||
File "..\bin\LambdaAnySynToSemConverter.dll"
|
File "..\bin\LambdaAnySynToSemConverter.dll"
|
||||||
;File "libs\System.Core.dll"
|
File "..\bin\UniversalParserHelper.dll"
|
||||||
|
;File "libs\System.Core.dll"
|
||||||
File "gacutil.exe"
|
File "gacutil.exe"
|
||||||
File "gacutil.exe.config"
|
File "gacutil.exe.config"
|
||||||
File "gacutlrc.dll"
|
File "gacutlrc.dll"
|
||||||
|
|
@ -40,20 +42,21 @@
|
||||||
|
|
||||||
|
|
||||||
; main config - only .NET 4.7.1 and above
|
; main config - only .NET 4.7.1 and above
|
||||||
DotNetChecker::IsDotNet471Installed
|
DotNetChecker::IsDotNet471Installed
|
||||||
Pop $0
|
Pop $0
|
||||||
|
|
||||||
${If} $0 == "false"
|
${If} $0 == "false"
|
||||||
${OrIf} $0 == "f" ; if script is compiled in ANSI mode then we get only an "f" https://github.com/ReVolly/NsisDotNetChecker/issues/4
|
${OrIf} $0 == "f" ; if script is compiled in ANSI mode then we get only an "f" https://github.com/ReVolly/NsisDotNetChecker/issues/4
|
||||||
${Else}
|
${Else}
|
||||||
File "..\bin\PascalABCNET.exe.config"
|
File "..\bin\PascalABCNET.exe.config"
|
||||||
${AddFile} "PascalABCNET.exe.config"
|
${AddFile} "PascalABCNET.exe.config"
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
|
|
||||||
;dobavljaem fajly v uninst.log
|
;dobavljaem fajly v uninst.log
|
||||||
${AddFile} "Compiler.dll"
|
${AddFile} "Compiler.dll"
|
||||||
${AddFile} "CompilerTools.dll"
|
${AddFile} "CompilerTools.dll"
|
||||||
|
${AddFile} "ShiftReduceParser.dll"
|
||||||
${AddFile} "Errors.dll"
|
${AddFile} "Errors.dll"
|
||||||
${AddFile} "Localization.dll"
|
${AddFile} "Localization.dll"
|
||||||
${AddFile} "NETGenerator.dll"
|
${AddFile} "NETGenerator.dll"
|
||||||
|
|
@ -69,6 +72,7 @@
|
||||||
${AddFile} "Mono.Cecil.dll"
|
${AddFile} "Mono.Cecil.dll"
|
||||||
${AddFile} "TeacherControlPlugin.dll"
|
${AddFile} "TeacherControlPlugin.dll"
|
||||||
${AddFile} "LambdaAnySynToSemConverter.dll"
|
${AddFile} "LambdaAnySynToSemConverter.dll"
|
||||||
|
${AddFile} "UniversalParserHelper.dll"
|
||||||
${AddFile} "License.txt"
|
${AddFile} "License.txt"
|
||||||
${AddFile} "copyright.txt"
|
${AddFile} "copyright.txt"
|
||||||
${AddFile} "pabcnetc.exe.config"
|
${AddFile} "pabcnetc.exe.config"
|
||||||
|
|
@ -77,7 +81,7 @@
|
||||||
Delete "$INSTDIR\Lib\*.pas"
|
Delete "$INSTDIR\Lib\*.pas"
|
||||||
SetOutPath "$INSTDIR\Lib"
|
SetOutPath "$INSTDIR\Lib"
|
||||||
;File ..\bin\Lib\*.pcu; eto ploho nuzhno kazhdyj pcu raspisyvat
|
;File ..\bin\Lib\*.pcu; eto ploho nuzhno kazhdyj pcu raspisyvat
|
||||||
|
|
||||||
File ..\bin\Lib\__RedirectIOMode.pcu
|
File ..\bin\Lib\__RedirectIOMode.pcu
|
||||||
File ..\bin\Lib\__RunMode.pcu
|
File ..\bin\Lib\__RunMode.pcu
|
||||||
File ..\bin\Lib\ABCButtons.pcu
|
File ..\bin\Lib\ABCButtons.pcu
|
||||||
|
|
@ -161,7 +165,7 @@
|
||||||
File ..\bin\Lib\HelixToolkit.dll
|
File ..\bin\Lib\HelixToolkit.dll
|
||||||
File ..\bin\Lib\nunit.framework.dll
|
File ..\bin\Lib\nunit.framework.dll
|
||||||
File ..\bin\Lib\InteractiveDataDisplay.WPF.dll
|
File ..\bin\Lib\InteractiveDataDisplay.WPF.dll
|
||||||
|
|
||||||
File ..\bin\Lib\turtle.png
|
File ..\bin\Lib\turtle.png
|
||||||
|
|
||||||
${AddFile} "__RedirectIOMode.pcu"
|
${AddFile} "__RedirectIOMode.pcu"
|
||||||
|
|
@ -271,7 +275,7 @@
|
||||||
Push "Lib\InteractiveDataDisplay.WPF.dll"
|
Push "Lib\InteractiveDataDisplay.WPF.dll"
|
||||||
Call NGEN
|
Call NGEN
|
||||||
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\LibSource"
|
SetOutPath "$INSTDIR\LibSource"
|
||||||
File ..\bin\Lib\__RedirectIOMode.pas
|
File ..\bin\Lib\__RedirectIOMode.pas
|
||||||
File ..\bin\Lib\__RunMode.pas
|
File ..\bin\Lib\__RunMode.pas
|
||||||
|
|
@ -346,11 +350,11 @@
|
||||||
File ..\bin\Lib\XLSX.pas
|
File ..\bin\Lib\XLSX.pas
|
||||||
File ..\bin\Lib\Мозаика.pas
|
File ..\bin\Lib\Мозаика.pas
|
||||||
|
|
||||||
File ..\bin\Lib\__RedirectIOMode.vb
|
File ..\bin\Lib\__RedirectIOMode.vb
|
||||||
File ..\bin\Lib\VBSystem.vb
|
File ..\bin\Lib\VBSystem.vb
|
||||||
|
|
||||||
;dobavljaem fajly v uninst.log
|
;dobavljaem fajly v uninst.log
|
||||||
${AddFile} "__RedirectIOMode.pas"
|
${AddFile} "__RedirectIOMode.pas"
|
||||||
${AddFile} "__RunMode.pas"
|
${AddFile} "__RunMode.pas"
|
||||||
${AddFile} "ABCButtons.pas"
|
${AddFile} "ABCButtons.pas"
|
||||||
${AddFile} "ABCHouse.pas"
|
${AddFile} "ABCHouse.pas"
|
||||||
|
|
@ -395,7 +399,7 @@
|
||||||
${AddFile} "RobotTaskMaker.pas"
|
${AddFile} "RobotTaskMaker.pas"
|
||||||
; File ..\bin\Lib\RobotZadan.pas
|
; File ..\bin\Lib\RobotZadan.pas
|
||||||
${AddFile} "Sockets.pas"
|
${AddFile} "Sockets.pas"
|
||||||
${AddFile} "Timers.pas"
|
${AddFile} "Timers.pas"
|
||||||
${AddFile} "Utils.pas"
|
${AddFile} "Utils.pas"
|
||||||
${AddFile} "VCL.pas"
|
${AddFile} "VCL.pas"
|
||||||
${AddFile} "RBDMUtils.pas"
|
${AddFile} "RBDMUtils.pas"
|
||||||
|
|
@ -423,13 +427,13 @@
|
||||||
${AddFile} "Мозаика.pas"
|
${AddFile} "Мозаика.pas"
|
||||||
|
|
||||||
|
|
||||||
${AddFile} "__RedirectIOMode.vb"
|
${AddFile} "__RedirectIOMode.vb"
|
||||||
${AddFile} "VBSystem.vb"
|
${AddFile} "VBSystem.vb"
|
||||||
|
|
||||||
CreateDirectory "$SMPROGRAMS\PascalABC.NET"
|
CreateDirectory "$SMPROGRAMS\PascalABC.NET"
|
||||||
Push "OptimizerConversion.dll"
|
Push "OptimizerConversion.dll"
|
||||||
Call NGEN
|
Call NGEN
|
||||||
Push "SyntaxVisitors.dll"
|
Push "SyntaxVisitors.dll"
|
||||||
Call NGEN
|
Call NGEN
|
||||||
|
|
||||||
; SetOutPath "$INSTDIR\Output"
|
; SetOutPath "$INSTDIR\Output"
|
||||||
|
|
|
||||||
6
ShiftReduceParser/App.config
Normal file
6
ShiftReduceParser/App.config
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||||
|
</startup>
|
||||||
|
</configuration>
|
||||||
52
ShiftReduceParser/ShiftReduceParser.csproj
Normal file
52
ShiftReduceParser/ShiftReduceParser.csproj
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{AD4E1292-2537-467A-934D-E9FDA3F18D87}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<RootNamespace>GPPG</RootNamespace>
|
||||||
|
<AssemblyName>ShiftReduceParser</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>..\bin\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<StartupObject />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="ShiftReduceParserCode.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\SyntaxTree\SyntaxTree.csproj">
|
||||||
|
<Project>{c2cac65a-b2ae-4ccc-b067-e6b8e75df73a}</Project>
|
||||||
|
<Name>SyntaxTree</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\msbuild.exe" (
|
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\msbuild.exe" (
|
||||||
|
|
@ -23,6 +23,12 @@ if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\MSBuild\15.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
rem Если хотите добавить другой путь к Visual Studio, можете записать его в переменную среды MSBUILD_PATH
|
||||||
|
) else if exist "%MSBUILD_PATH%" (
|
||||||
|
"%MSBUILD_PATH%" %1 %2 %3 %4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
) else (
|
) else (
|
||||||
ECHO Visual Studio not found
|
ECHO Visual Studio not found
|
||||||
SET ERRORLEVEL=1
|
SET ERRORLEVEL=1
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace PascalABCCompiler.SyntaxTree
|
namespace PascalABCCompiler.SyntaxTree
|
||||||
|
|
@ -176,7 +176,7 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
|
|
||||||
public enum for_cycle_type {to,downto};
|
public enum for_cycle_type {to,downto};
|
||||||
|
|
||||||
public enum proc_attribute {attr_override, attr_forward, attr_virtual, attr_overload, attr_reintroduce, attr_abstract, attr_static, attr_extension, attr_none }; // attr_none íóæíî äëÿ ñâîéñòâ êîãäà virtual È override íå óêàçûâàåòñÿ
|
public enum proc_attribute {attr_override, attr_forward, attr_virtual, attr_overload, attr_reintroduce, attr_abstract, attr_static, attr_extension, attr_none }; // attr_none нужно для свойств когда virtual И override не указывается
|
||||||
|
|
||||||
public enum definition_attribute {None, Static, Const};
|
public enum definition_attribute {None, Static, Const};
|
||||||
|
|
||||||
|
|
@ -239,7 +239,6 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
private int _begin_symbol_position;
|
private int _begin_symbol_position;
|
||||||
private int _end_symbol_position;
|
private int _end_symbol_position;
|
||||||
private string _file_name=null;
|
private string _file_name=null;
|
||||||
|
|
||||||
public string FileName
|
public string FileName
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|
@ -252,6 +251,11 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// дефолтный конструктор (присваивает всем позициям единицы, что соответствует позиции начала файла)
|
||||||
|
/// </summary>
|
||||||
|
public SourceContext() : this(1, 1, 1, 1, 1, 1) { }
|
||||||
|
|
||||||
public SourceContext(int beg_line_num, int beg_column_num, int end_line_num, int end_column_num, int _begin_symbol_position, int _end_symbol_position)
|
public SourceContext(int beg_line_num, int beg_column_num, int end_line_num, int end_column_num, int _begin_symbol_position, int _end_symbol_position)
|
||||||
{
|
{
|
||||||
_begin_position=new file_position(beg_line_num,beg_column_num);
|
_begin_position=new file_position(beg_line_num,beg_column_num);
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,7 @@ namespace PascalABCCompiler.Collections
|
||||||
_elements_as_arr = null;
|
_elements_as_arr = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void clear()
|
public void Clear()
|
||||||
{
|
{
|
||||||
_elements.Clear();
|
_elements.Clear();
|
||||||
_elements_as_arr = null;
|
_elements_as_arr = null;
|
||||||
|
|
|
||||||
|
|
@ -943,10 +943,10 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
VarFinderSyntaxVisitor VFvis = new VarFinderSyntaxVisitor(syntax_body, syntax_tree_visitor.context, true);
|
VarFinderSyntaxVisitor VFvis = new VarFinderSyntaxVisitor(syntax_body, syntax_tree_visitor.context, true);
|
||||||
SyntaxTree.compiler_directive dir = syntax_tree_visitor.DirectivesToNodesLinks[for_node];
|
SyntaxTree.compiler_directive dir = syntax_tree_visitor.DirectivesToNodesLinks[for_node];
|
||||||
//if (DirInfosTable[dir].ErrorName == "WARNING_IN_CLAUSE_PARAMETERS_REPEATED_VARS")
|
//if (DirInfosTable[dir].ErrorName == "WARNING_IN_CLAUSE_PARAMETERS_REPEATED_VARS")
|
||||||
// syntax_tree_visitor.AddWarning(new Errors.CommonWarning(StringResources.Get(DirInfosTable[dir].ErrorName), for_node.source_context.FileName, DirInfosTable[dir].SC.begin_position.line_num, DirInfosTable[dir].SC.begin_position.column_num));
|
// syntax_tree_visitor.AddWarning(new Errors.CommonWarning(StringResources.Get(DirInfosTable[dir].ErrorName), for_node.source_context.file_name, DirInfosTable[dir].SC.begin_position.line_num, DirInfosTable[dir].SC.begin_position.column_num));
|
||||||
//else if (DirInfosTable[dir].ErrorName == "ERROR_IN_CLAUSE_PARAMETERS")
|
//else if (DirInfosTable[dir].ErrorName == "ERROR_IN_CLAUSE_PARAMETERS")
|
||||||
//{
|
//{
|
||||||
// syntax_tree_visitor.AddWarning(new Errors.CommonWarning(StringResources.Get(DirInfosTable[dir].ErrorName), for_node.source_context.FileName, DirInfosTable[dir].SC.begin_position.line_num, DirInfosTable[dir].SC.begin_position.column_num));
|
// syntax_tree_visitor.AddWarning(new Errors.CommonWarning(StringResources.Get(DirInfosTable[dir].ErrorName), for_node.source_context.file_name, DirInfosTable[dir].SC.begin_position.line_num, DirInfosTable[dir].SC.begin_position.column_num));
|
||||||
//}
|
//}
|
||||||
//else
|
//else
|
||||||
|
|
||||||
|
|
@ -1057,10 +1057,10 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
SyntaxTree.compiler_directive dir = syntax_tree_visitor.DirectivesToNodesLinks[syntax_stmts];
|
SyntaxTree.compiler_directive dir = syntax_tree_visitor.DirectivesToNodesLinks[syntax_stmts];
|
||||||
|
|
||||||
//if (DirInfosTable[dir].ErrorName == "WARNING_IN_CLAUSE_PARAMETERS_REPEATED_VARS")
|
//if (DirInfosTable[dir].ErrorName == "WARNING_IN_CLAUSE_PARAMETERS_REPEATED_VARS")
|
||||||
// syntax_tree_visitor.AddWarning(new Errors.CommonWarning(StringResources.Get(DirInfosTable[dir].ErrorName), syntax_stmts.source_context.FileName, DirInfosTable[dir].SC.begin_position.line_num, DirInfosTable[dir].SC.begin_position.column_num));
|
// syntax_tree_visitor.AddWarning(new Errors.CommonWarning(StringResources.Get(DirInfosTable[dir].ErrorName), syntax_stmts.source_context.file_name, DirInfosTable[dir].SC.begin_position.line_num, DirInfosTable[dir].SC.begin_position.column_num));
|
||||||
//else if (DirInfosTable[dir].ErrorName == "ERROR_IN_CLAUSE_PARAMETERS")
|
//else if (DirInfosTable[dir].ErrorName == "ERROR_IN_CLAUSE_PARAMETERS")
|
||||||
//{
|
//{
|
||||||
// syntax_tree_visitor.AddWarning(new Errors.CommonWarning(StringResources.Get(DirInfosTable[dir].ErrorName), syntax_stmts.source_context.FileName, DirInfosTable[dir].SC.begin_position.line_num, DirInfosTable[dir].SC.begin_position.column_num));
|
// syntax_tree_visitor.AddWarning(new Errors.CommonWarning(StringResources.Get(DirInfosTable[dir].ErrorName), syntax_stmts.source_context.file_name, DirInfosTable[dir].SC.begin_position.line_num, DirInfosTable[dir].SC.begin_position.column_num));
|
||||||
//}
|
//}
|
||||||
//else
|
//else
|
||||||
if (DirInfosTable[dir].ErrorName != null)
|
if (DirInfosTable[dir].ErrorName != null)
|
||||||
|
|
|
||||||
|
|
@ -2191,7 +2191,7 @@ namespace PascalABCCompiler.SystemLibrary
|
||||||
Type arr_type = typeof(System.Array);
|
Type arr_type = typeof(System.Array);
|
||||||
System.Reflection.MethodInfo resize_func_mi = arr_type.GetMethod("Resize");
|
System.Reflection.MethodInfo resize_func_mi = arr_type.GetMethod("Resize");
|
||||||
_resize_func = compiled_function_node.get_compiled_method(resize_func_mi);
|
_resize_func = compiled_function_node.get_compiled_method(resize_func_mi);
|
||||||
_resize_func.parameters.clear();
|
_resize_func.parameters.Clear();
|
||||||
common_parameter par0 = new common_parameter("Array", _object_type, SemanticTree.parameter_type.value, null,
|
common_parameter par0 = new common_parameter("Array", _object_type, SemanticTree.parameter_type.value, null,
|
||||||
concrete_parameter_type.cpt_none, null, null);
|
concrete_parameter_type.cpt_none, null, null);
|
||||||
common_parameter par1 = new common_parameter("Length", _integer_type, SemanticTree.parameter_type.value, null,
|
common_parameter par1 = new common_parameter("Length", _integer_type, SemanticTree.parameter_type.value, null,
|
||||||
|
|
|
||||||
|
|
@ -391,7 +391,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
res.return_value_type = visitor.convert_strong(def.return_type);
|
res.return_value_type = visitor.convert_strong(def.return_type);
|
||||||
else
|
else
|
||||||
res.return_value_type = null;
|
res.return_value_type = null;
|
||||||
res.parameters.clear();
|
res.parameters.Clear();
|
||||||
if (def.formal_parameters != null && def.formal_parameters.params_list.Count != 0)
|
if (def.formal_parameters != null && def.formal_parameters.params_list.Count != 0)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < def.formal_parameters.params_list.Count; i++)
|
for (int i = 0; i < def.formal_parameters.params_list.Count; i++)
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
*
|
*
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
using System;
|
using PascalABCCompiler.TreeRealization;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace PascalABCCompiler.TreeConverter
|
namespace PascalABCCompiler.TreeConverter
|
||||||
|
|
@ -82,8 +82,8 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
//stv.comp_units=UsedUnits;
|
//stv.comp_units=UsedUnits;
|
||||||
//stv.visit(SyntaxUnit
|
//stv.visit(SyntaxUnit
|
||||||
//stv.interface_using_list = namespaces;
|
//stv.interface_using_list = namespaces;
|
||||||
stv.using_list.clear();
|
stv.using_list.Clear();
|
||||||
stv.interface_using_list.clear();
|
stv.interface_using_list.Clear();
|
||||||
stv.using_list.AddRange(namespaces);
|
stv.using_list.AddRange(namespaces);
|
||||||
stv.current_document = new TreeRealization.document(SyntaxUnit.file_name);
|
stv.current_document = new TreeRealization.document(SyntaxUnit.file_name);
|
||||||
stv.ErrorsList = ErrorsList;
|
stv.ErrorsList = ErrorsList;
|
||||||
|
|
@ -133,7 +133,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
stv.bad_nodes_in_syntax_tree = bad_nodes;
|
stv.bad_nodes_in_syntax_tree = bad_nodes;
|
||||||
stv.referenced_units = UsedUnits;
|
stv.referenced_units = UsedUnits;
|
||||||
|
|
||||||
stv.using_list.clear();
|
stv.using_list.Clear();
|
||||||
stv.using_list.AddRange(interface_namespaces);
|
stv.using_list.AddRange(interface_namespaces);
|
||||||
stv.interface_using_list.AddRange(interface_namespaces);
|
stv.interface_using_list.AddRange(interface_namespaces);
|
||||||
stv.using_list.AddRange(imlementation_namespaces);
|
stv.using_list.AddRange(imlementation_namespaces);
|
||||||
|
|
@ -153,8 +153,8 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
{
|
{
|
||||||
throw new PascalABCCompiler.TreeConverter.CompilerInternalError("Program has not implementation part");
|
throw new PascalABCCompiler.TreeConverter.CompilerInternalError("Program has not implementation part");
|
||||||
}
|
}
|
||||||
//TODO: Переделать, чтобы Сашин код работал с common_unit_node.
|
|
||||||
stv.compiled_unit=(PascalABCCompiler.TreeRealization.common_unit_node)SemanticUnit;
|
stv.compiled_unit = SemanticUnit;
|
||||||
stv.current_document = new TreeRealization.document(SyntaxUnit.file_name);
|
stv.current_document = new TreeRealization.document(SyntaxUnit.file_name);
|
||||||
|
|
||||||
foreach (SyntaxTree.compiler_directive cd in umod.compiler_directives)
|
foreach (SyntaxTree.compiler_directive cd in umod.compiler_directives)
|
||||||
|
|
@ -165,6 +165,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
//stv.visit(SyntaxUnit);
|
//stv.visit(SyntaxUnit);
|
||||||
//return stv.compiled_unit;
|
//return stv.compiled_unit;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Reset()
|
public void Reset()
|
||||||
{
|
{
|
||||||
stv.reset();
|
stv.reset();
|
||||||
|
|
|
||||||
|
|
@ -576,7 +576,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
_compiled_unit = null;
|
_compiled_unit = null;
|
||||||
_referenced_units = null;
|
_referenced_units = null;
|
||||||
current_document = null;
|
current_document = null;
|
||||||
using_list.clear();
|
using_list.Clear();
|
||||||
//_referenced_units.clear();
|
//_referenced_units.clear();
|
||||||
ret.reset();
|
ret.reset();
|
||||||
motivation_keeper.reset();
|
motivation_keeper.reset();
|
||||||
|
|
@ -1481,7 +1481,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
{
|
{
|
||||||
if (cmn.cont_type.IsAbstract)
|
if (cmn.cont_type.IsAbstract)
|
||||||
AddError(loc, "ABSTRACT_CONSTRUCTOR_{0}_CALL", cmn.cont_type.name);
|
AddError(loc, "ABSTRACT_CONSTRUCTOR_{0}_CALL", cmn.cont_type.name);
|
||||||
ret.clear();
|
ret.Clear();
|
||||||
ret.AddElement(new common_constructor_call(cmn, loc));
|
ret.AddElement(new common_constructor_call(cmn, loc));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
@ -8869,7 +8869,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
check_on_loop_variable(en);
|
check_on_loop_variable(en);
|
||||||
//if (en.type == null)
|
//if (en.type == null)
|
||||||
//throw new CanNotRead(en.location);
|
//throw new CanNotRead(en.location);
|
||||||
exl.clear();
|
exl.Clear();
|
||||||
if (read_from_file)
|
if (read_from_file)
|
||||||
exl.AddElement(file);
|
exl.AddElement(file);
|
||||||
if (read_from_typed_file)
|
if (read_from_typed_file)
|
||||||
|
|
@ -8983,7 +8983,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
{
|
{
|
||||||
if (last_call != null && convertion_data_and_alghoritms.statement_list_stack.size > 0)
|
if (last_call != null && convertion_data_and_alghoritms.statement_list_stack.size > 0)
|
||||||
convertion_data_and_alghoritms.statement_list_stack.top().statements.AddElement(last_call);
|
convertion_data_and_alghoritms.statement_list_stack.top().statements.AddElement(last_call);
|
||||||
exl.clear();
|
exl.Clear();
|
||||||
|
|
||||||
if (read_from_file)
|
if (read_from_file)
|
||||||
exl.AddElement(file);
|
exl.AddElement(file);
|
||||||
|
|
@ -11796,7 +11796,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
parameter_list temp_params = new parameter_list();
|
parameter_list temp_params = new parameter_list();
|
||||||
foreach (SyntaxTree.typed_parameters tpars in syn_parametres.params_list)
|
foreach (SyntaxTree.typed_parameters tpars in syn_parametres.params_list)
|
||||||
{
|
{
|
||||||
temp_params.clear();
|
temp_params.Clear();
|
||||||
SemanticTree.parameter_type pt = SemanticTree.parameter_type.value;
|
SemanticTree.parameter_type pt = SemanticTree.parameter_type.value;
|
||||||
concrete_parameter_type cpt = concrete_parameter_type.cpt_none;
|
concrete_parameter_type cpt = concrete_parameter_type.cpt_none;
|
||||||
switch (tpars.param_kind)
|
switch (tpars.param_kind)
|
||||||
|
|
@ -19053,7 +19053,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
{
|
{
|
||||||
current_using_list.AddElement(un);
|
current_using_list.AddElement(un);
|
||||||
}
|
}
|
||||||
using_list.clear();
|
using_list.Clear();
|
||||||
foreach (using_namespace un in tc.using_list)
|
foreach (using_namespace un in tc.using_list)
|
||||||
{
|
{
|
||||||
using_list.AddElement(un);
|
using_list.AddElement(un);
|
||||||
|
|
@ -19149,7 +19149,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
context.converted_namespace = pdi.nspace;
|
context.converted_namespace = pdi.nspace;
|
||||||
using_namespace_list ulist =
|
using_namespace_list ulist =
|
||||||
(pdi.nspace == tc.cnn) ? tc.using_list : tc.using_list2;
|
(pdi.nspace == tc.cnn) ? tc.using_list : tc.using_list2;
|
||||||
using_list.clear();
|
using_list.Clear();
|
||||||
foreach (using_namespace un in ulist)
|
foreach (using_namespace un in ulist)
|
||||||
{
|
{
|
||||||
using_list.AddElement(un);
|
using_list.AddElement(un);
|
||||||
|
|
@ -19198,7 +19198,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
type_section_converting = current_type_section_converting;
|
type_section_converting = current_type_section_converting;
|
||||||
context.member_decls = current_member_decls;
|
context.member_decls = current_member_decls;
|
||||||
context.var_defs = current_var_defs;
|
context.var_defs = current_var_defs;
|
||||||
using_list.clear();
|
using_list.Clear();
|
||||||
foreach (using_namespace un in current_using_list)
|
foreach (using_namespace un in current_using_list)
|
||||||
{
|
{
|
||||||
using_list.AddElement(un);
|
using_list.AddElement(un);
|
||||||
|
|
|
||||||
36
UniversalParserHelper/Properties/AssemblyInfo.cs
Normal file
36
UniversalParserHelper/Properties/AssemblyInfo.cs
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// Общие сведения об этой сборке предоставляются следующим набором
|
||||||
|
// набора атрибутов. Измените значения этих атрибутов для изменения сведений,
|
||||||
|
// связанные со сборкой.
|
||||||
|
[assembly: AssemblyTitle("UniversalParserHelper")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("UniversalParserHelper")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
|
||||||
|
// для компонентов COM. Если необходимо обратиться к типу в этой сборке через
|
||||||
|
// COM, задайте атрибуту ComVisible значение TRUE для этого типа.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
|
||||||
|
[assembly: Guid("e862a9ef-836b-414b-aac4-9d207cabdc82")]
|
||||||
|
|
||||||
|
// Сведения о версии сборки состоят из указанных ниже четырех значений:
|
||||||
|
//
|
||||||
|
// Основной номер версии
|
||||||
|
// Дополнительный номер версии
|
||||||
|
// Номер сборки
|
||||||
|
// Редакция
|
||||||
|
//
|
||||||
|
// Можно задать все значения или принять номера сборки и редакции по умолчанию
|
||||||
|
// используя "*", как показано ниже:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
385
UniversalParserHelper/UniversalParserHelper.cs
Normal file
385
UniversalParserHelper/UniversalParserHelper.cs
Normal file
|
|
@ -0,0 +1,385 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
using QUT.Gppg;
|
||||||
|
|
||||||
|
using PascalABCCompiler.SyntaxTree;
|
||||||
|
using PascalABCCompiler.Errors;
|
||||||
|
|
||||||
|
namespace UniversalParserHelper
|
||||||
|
{
|
||||||
|
public static class StringResources
|
||||||
|
{
|
||||||
|
private static string prefix = "PASCALABCPARSER_";
|
||||||
|
public static string Get(string Id)
|
||||||
|
{
|
||||||
|
string ret = PascalABCCompiler.StringResources.Get(prefix + Id);
|
||||||
|
if (ret == prefix + Id)
|
||||||
|
return Id;
|
||||||
|
else
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public abstract class UniversalParserHelper
|
||||||
|
{
|
||||||
|
private const int max_char_const = 0xFFFF;
|
||||||
|
// SSM: Errors инициализируется в другом месте - сюда только передается!
|
||||||
|
public List<Error> errors;
|
||||||
|
public List<CompilerWarning> warnings;
|
||||||
|
public System.Collections.Stack NodesStack; // SSM: для каких-то вспомогательных целей в двух правилах
|
||||||
|
public bool build_tree_for_formatter = false;
|
||||||
|
public bool build_tree_for_format_strings = false;
|
||||||
|
public string CurrentFileName;
|
||||||
|
public List<compiler_directive> compilerDirectives;
|
||||||
|
|
||||||
|
public List<var_def_statement> pascalABC_var_statements;
|
||||||
|
public List<type_declaration> pascalABC_type_declarations;
|
||||||
|
public UniversalParserHelper()
|
||||||
|
{
|
||||||
|
NodesStack = new System.Collections.Stack();
|
||||||
|
pascalABC_var_statements = new List<var_def_statement>();
|
||||||
|
pascalABC_type_declarations = new List<type_declaration>();
|
||||||
|
}
|
||||||
|
public string directive_parameter(string s)
|
||||||
|
{
|
||||||
|
var ind = s.IndexOf(" ");
|
||||||
|
if (ind < 0)
|
||||||
|
return "";
|
||||||
|
else
|
||||||
|
{
|
||||||
|
s = s.Substring(ind + 1);
|
||||||
|
s = s.TrimEnd('}');
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public ident create_directive_name(string text, SourceContext sc)
|
||||||
|
{
|
||||||
|
ident dn = new ident(new string(text.ToCharArray(1, text.Length - 1)));
|
||||||
|
dn.source_context = sc;
|
||||||
|
return dn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string RemoveThousandsDelimiter(string s, SourceContext sc)
|
||||||
|
{
|
||||||
|
if (s.EndsWith("_") || s.Contains("__"))
|
||||||
|
{
|
||||||
|
var errstr = ParserErrorsStringResources.Get("BAD_FORMED_NUM_CONST");
|
||||||
|
errors.Add(new SyntaxError(errstr, CurrentFileName, sc, null));
|
||||||
|
}
|
||||||
|
|
||||||
|
return s.Replace("_", "");
|
||||||
|
}
|
||||||
|
private const_node create_int_const(string text, SourceContext sc, System.Globalization.NumberStyles NumberStyles)
|
||||||
|
{
|
||||||
|
//таблица целых констант на уровне синтаксиса
|
||||||
|
// не может быть - 0 +
|
||||||
|
// 32--------16----8----|----8----16--------32----------------64(bits)
|
||||||
|
// [ int64 )[ int32 ]( int64 ]( uint64 ]
|
||||||
|
text = RemoveThousandsDelimiter(text, sc);
|
||||||
|
if (NumberStyles == System.Globalization.NumberStyles.HexNumber)
|
||||||
|
text = text.Substring(1);
|
||||||
|
const_node cn = new int32_const();
|
||||||
|
if (text.Length < 8)
|
||||||
|
(cn as int32_const).val = Int32.Parse(text, NumberStyles);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
UInt64 uint64 = UInt64.Parse(text, NumberStyles);
|
||||||
|
if (uint64 <= Int32.MaxValue)
|
||||||
|
(cn as int32_const).val = (Int32)uint64;
|
||||||
|
else
|
||||||
|
if (uint64 <= Int64.MaxValue)
|
||||||
|
cn = new int64_const((Int64)uint64);
|
||||||
|
else
|
||||||
|
cn = new uint64_const(uint64);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
if (NumberStyles == System.Globalization.NumberStyles.HexNumber)
|
||||||
|
errors.Add(new BadHex(CurrentFileName, sc, null));
|
||||||
|
else
|
||||||
|
errors.Add(new BadInt(CurrentFileName, sc, null));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cn.source_context = sc;
|
||||||
|
return cn;
|
||||||
|
}
|
||||||
|
public const_node create_int_const(string text, SourceContext sc)
|
||||||
|
{
|
||||||
|
return create_int_const(text, sc, System.Globalization.NumberStyles.Integer);
|
||||||
|
}
|
||||||
|
public const_node create_double_const(string text, SourceContext sc)
|
||||||
|
{
|
||||||
|
const_node cn = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
System.Globalization.NumberFormatInfo sgnfi = new System.Globalization.NumberFormatInfo();
|
||||||
|
sgnfi.NumberDecimalSeparator = ".";
|
||||||
|
|
||||||
|
text = RemoveThousandsDelimiter(text, sc);
|
||||||
|
|
||||||
|
double val = double.Parse(text, sgnfi);
|
||||||
|
cn = new double_const(val);
|
||||||
|
cn.source_context = sc;
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
errors.Add(new BadFloat(CurrentFileName, sc, null));
|
||||||
|
}
|
||||||
|
return cn;
|
||||||
|
}
|
||||||
|
public const_node create_bigint_const(string text, SourceContext sc)
|
||||||
|
{
|
||||||
|
text = RemoveThousandsDelimiter(text, sc);
|
||||||
|
|
||||||
|
var txt = text.Substring(0, text.Length - 2);
|
||||||
|
var cn = new bigint_const();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cn.val = System.UInt64.Parse(txt);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
errors.Add(new BadInt(CurrentFileName, sc, null));
|
||||||
|
}
|
||||||
|
cn.source_context = sc;
|
||||||
|
return cn;
|
||||||
|
}
|
||||||
|
public ident create_ident(string text, SourceContext sc)
|
||||||
|
{
|
||||||
|
if (text[0] == '&')
|
||||||
|
text = text.Substring(1);
|
||||||
|
ident id = new ident(text);
|
||||||
|
id.source_context = sc;
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ReplaceSpecialSymbols(string text)
|
||||||
|
{
|
||||||
|
text = text.Replace("''", "'");
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public char_const create_char_const(string text, SourceContext sc)
|
||||||
|
{
|
||||||
|
string char_text = new string(text.ToCharArray(1, text.Length - 2));
|
||||||
|
char_text = ReplaceSpecialSymbols(char_text);
|
||||||
|
char_const ct = new char_const();
|
||||||
|
ct.source_context = sc;
|
||||||
|
if (char_text.Length == 1)
|
||||||
|
{
|
||||||
|
ct.cconst = char_text[0];
|
||||||
|
return ct;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public sharp_char_const create_sharp_char_const(string text, SourceContext sc)
|
||||||
|
{
|
||||||
|
string int_text = new string(text.ToCharArray(1, text.Length - 1));
|
||||||
|
sharp_char_const scc = null;
|
||||||
|
int val = 0;
|
||||||
|
if (int.TryParse(int_text, out val))
|
||||||
|
{
|
||||||
|
if (val > max_char_const)
|
||||||
|
{
|
||||||
|
scc = new sharp_char_const(0);
|
||||||
|
errors.Add(new TooBigCharNumberInSharpCharConstant(CurrentFileName, sc, scc));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
scc = new sharp_char_const(val);
|
||||||
|
scc.source_context = sc;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
errors.Add(new TooBigCharNumberInSharpCharConstant(CurrentFileName, sc, scc));
|
||||||
|
}
|
||||||
|
return scc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public literal create_string_const(string text, SourceContext sc)
|
||||||
|
{
|
||||||
|
literal lt;
|
||||||
|
if (text.Length == 3 && text[0] == '\'' && text[2] == '\'')
|
||||||
|
{
|
||||||
|
lt = new char_const(text[1]);
|
||||||
|
lt.source_context = sc;
|
||||||
|
return lt;
|
||||||
|
}
|
||||||
|
text = ReplaceSpecialSymbols(text.Substring(1, text.Length - 2));
|
||||||
|
lt = new string_const(text);
|
||||||
|
lt.source_context = sc;
|
||||||
|
return lt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public literal create_format_string_const(string text, SourceContext sc)
|
||||||
|
{
|
||||||
|
literal lt;
|
||||||
|
text = ReplaceSpecialSymbols(text.Substring(2, text.Length - 3));
|
||||||
|
lt = new string_const(text);
|
||||||
|
(lt as string_const).IsInterpolated = true;
|
||||||
|
lt.source_context = sc;
|
||||||
|
return lt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddError(string message, LexLocation loc)
|
||||||
|
{
|
||||||
|
errors.Add(new SyntaxError(message, CurrentFileName, loc, null));
|
||||||
|
}
|
||||||
|
public string CreateErrorString(string yytext, LexLocation yyloc, params object[] args)
|
||||||
|
{
|
||||||
|
string prefix = "";
|
||||||
|
if (yytext != "")
|
||||||
|
prefix = StringResources.Get("FOUND{0}");
|
||||||
|
else
|
||||||
|
prefix = StringResources.Get("FOUNDEOF");
|
||||||
|
|
||||||
|
if (this.build_tree_for_format_strings && prefix == StringResources.Get("FOUNDEOF"))
|
||||||
|
{
|
||||||
|
yytext = "}";
|
||||||
|
prefix = StringResources.Get("FOUND{0}");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Преобразовали в список строк - хорошо
|
||||||
|
string expected = String.Join(", ", args.Skip(1).Select(x => x.ToString()));
|
||||||
|
|
||||||
|
var ExpectedString = StringResources.Get("EXPECTED{1}");
|
||||||
|
|
||||||
|
// string w = string.Join(" или ", tokens.Select(s => ConvertToHumanName((string)s)));
|
||||||
|
|
||||||
|
return string.Format(prefix + ExpectedString, "'" + yytext + "'", expected);
|
||||||
|
}
|
||||||
|
/* public string CreateErrorString(string yytext, LexLocation yyloc, params object[] args)
|
||||||
|
{
|
||||||
|
string expected = String.Join(", ", args.Skip(1).Select(x => x.ToString()));
|
||||||
|
string err = $"PARSER ERROR \"{yytext}\" AT LINE #{yyloc.StartLine}: EXPECTED {expected}, FOUND {args[0]}";
|
||||||
|
return err;
|
||||||
|
}*/
|
||||||
|
public List<object> ident_list11(object lr1, object lr3)
|
||||||
|
{
|
||||||
|
List<object> ar = (List<object>)lr3;
|
||||||
|
ar.Insert(0, lr1);
|
||||||
|
return ar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<object> ident_list12(object lr0)
|
||||||
|
{
|
||||||
|
List<object> ar = new List<object>();
|
||||||
|
ar.Add(lr0);
|
||||||
|
return ar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<object> ident_list21(object lr0, object lr2)
|
||||||
|
{
|
||||||
|
List<object> ar = (List<object>)lr0;
|
||||||
|
ar.Add(lr2);
|
||||||
|
return ar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<object> ident_list13(object lr1, object lr3, object lr5)
|
||||||
|
{
|
||||||
|
List<object> ar = (List<object>)lr5;
|
||||||
|
//named_type_reference n_t_r = (named_type_reference)lr3;
|
||||||
|
var_def_statement vds = new var_def_statement();
|
||||||
|
vds.vars = new ident_list();
|
||||||
|
vds.vars.idents.Add((ident)lr1);
|
||||||
|
vds.vars_type = (type_definition)lr3;//n_t_r;
|
||||||
|
ar.Insert(0, vds);
|
||||||
|
return ar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<object> ident_list14(object lr1, object lr3)
|
||||||
|
{
|
||||||
|
List<object> ar = new List<object>();
|
||||||
|
//named_type_reference n_t_r = (named_type_reference)lr3;
|
||||||
|
var_def_statement vds = new var_def_statement();
|
||||||
|
vds.vars = new ident_list();
|
||||||
|
vds.vars.idents.Add((ident)lr1);
|
||||||
|
vds.vars_type = (type_definition)lr3;
|
||||||
|
ar.Add(vds);
|
||||||
|
return ar;
|
||||||
|
}
|
||||||
|
public void create_source_context(object to, object left, object right)
|
||||||
|
{
|
||||||
|
if (to != null)
|
||||||
|
((syntax_tree_node)to).source_context = get_source_context(left, right);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SourceContext get_source_context(object left, object right)
|
||||||
|
{
|
||||||
|
//debug
|
||||||
|
/*if (left == null && right!=null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("\n\rerror: left is null(create_source_context)!\n\r");
|
||||||
|
Console.WriteLine(((syntax_tree_node)right).source_context.ToString());
|
||||||
|
}
|
||||||
|
if (right == null && left!=null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("\n\rerror: right is null(create_source_context)!\n\r");
|
||||||
|
Console.WriteLine(((syntax_tree_node)left).source_context.ToString());
|
||||||
|
}
|
||||||
|
if (((syntax_tree_node)left).source_context == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("\n\rerror: source_context is null!(left)\n\r");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (((syntax_tree_node)right).source_context == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("\n\rerror: source_context is null!(right)\n\r");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
if ((left == null) || (right == null) || (((syntax_tree_node)left).source_context == null) || (((syntax_tree_node)right).source_context == null))
|
||||||
|
return null;
|
||||||
|
return new SourceContext(((syntax_tree_node)left).source_context, ((syntax_tree_node)right).source_context);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void create_source_context_left(object to, object left)
|
||||||
|
{
|
||||||
|
file_position fp = ((syntax_tree_node)left).source_context.begin_position;
|
||||||
|
((syntax_tree_node)to).source_context = new SourceContext(fp.line_num, fp.column_num, fp.line_num, fp.column_num, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void create_source_context_right(object to, object right)
|
||||||
|
{
|
||||||
|
file_position fp = ((syntax_tree_node)right).source_context.end_position;
|
||||||
|
((syntax_tree_node)to).source_context = new SourceContext(fp.line_num, fp.column_num, fp.line_num, fp.column_num, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public object sc_not_null(object o1, object o2)
|
||||||
|
{
|
||||||
|
if (o1 != null)
|
||||||
|
if (((syntax_tree_node)o1).source_context != null) return o1;
|
||||||
|
return o2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public object sc_not_null(object o1, object o2, object o3)
|
||||||
|
{
|
||||||
|
if (o1 != null)
|
||||||
|
if (((syntax_tree_node)o1).source_context != null) return o1;
|
||||||
|
if (o2 != null)
|
||||||
|
if (((syntax_tree_node)o2).source_context != null) return o2;
|
||||||
|
return o3;
|
||||||
|
}
|
||||||
|
|
||||||
|
public object sc_not_null(params object[] arr)
|
||||||
|
{
|
||||||
|
foreach (object o in arr)
|
||||||
|
if (o != null)
|
||||||
|
if (((syntax_tree_node)o).source_context != null) return o;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void assign_source_context(object to, object from)
|
||||||
|
{
|
||||||
|
//debug
|
||||||
|
//if (((tree_node)from).source_context==null) Console.WriteLine("\n\rerror: from sc is null(assign_source_context)!\n\r");
|
||||||
|
if (to != null && from != null)
|
||||||
|
((syntax_tree_node)to).source_context = ((syntax_tree_node)from).source_context;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
76
UniversalParserHelper/UniversalParserHelper.csproj
Normal file
76
UniversalParserHelper/UniversalParserHelper.csproj
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{E862A9EF-836B-414B-AAC4-9D207CABDC82}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>UniversalParserHelper</RootNamespace>
|
||||||
|
<AssemblyName>UniversalParserHelper</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>..\bin\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>..\bin\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="UniversalParserHelper.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Errors\Errors.csproj">
|
||||||
|
<Project>{44a01f9e-dce7-470c-aae5-c3de0ccbee3b}</Project>
|
||||||
|
<Name>Errors</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\Localization\Localization.csproj">
|
||||||
|
<Project>{2de2842f-0912-4251-bc0f-480854c44a13}</Project>
|
||||||
|
<Name>Localization</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\ParserTools\ParserTools.csproj">
|
||||||
|
<Project>{af2efd7b-69dd-4b43-af65-b59b29349c23}</Project>
|
||||||
|
<Name>ParserTools</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\ShiftReduceParser\ShiftReduceParser.csproj">
|
||||||
|
<Project>{ad4e1292-2537-467a-934d-e9fda3f18d87}</Project>
|
||||||
|
<Name>ShiftReduceParser</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\SyntaxTree\SyntaxTree.csproj">
|
||||||
|
<Project>{c2cac65a-b2ae-4ccc-b067-e6b8e75df73a}</Project>
|
||||||
|
<Name>SyntaxTree</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Properties\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
Binary file not shown.
|
|
@ -6,6 +6,7 @@ using System.Threading.Tasks;
|
||||||
using ICSharpCode.TextEditor.Document;
|
using ICSharpCode.TextEditor.Document;
|
||||||
using ICSharpCode.TextEditor;
|
using ICSharpCode.TextEditor;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Drawing.Imaging;
|
||||||
|
|
||||||
namespace VisualPascalABC
|
namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
|
|
@ -250,7 +251,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
string cur, next, prev;
|
string cur, next, prev;
|
||||||
GetCurNextLines(out cur, out next, out prev);
|
GetCurNextLines(out cur, out next, out prev);
|
||||||
if (ta.Caret.Column >= cur.Length)
|
if (ta.Caret.Column >= cur.Length && prev != null)
|
||||||
{
|
{
|
||||||
var prevTrimEnd = prev.TrimEnd();
|
var prevTrimEnd = prev.TrimEnd();
|
||||||
// если prev заканчивается на then, а cur не начинается с begin, то отступ назад
|
// если prev заканчивается на then, а cur не начинается с begin, то отступ назад
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ namespace ICSharpCode.TextEditor.Document
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/* public class TestFoldingStrategy : IFoldingStrategy
|
/* public class TestFoldingStrategy : IFoldingStrategy
|
||||||
{
|
{
|
||||||
public List<FoldMarker> GenerateFoldMarkers(IDocument document, string fileName, object parseInformation)
|
public List<FoldMarker> GenerateFoldMarkers(IDocument document, string file_name, object parseInformation)
|
||||||
{
|
{
|
||||||
List<FoldMarker> l = new List<FoldMarker>();
|
List<FoldMarker> l = new List<FoldMarker>();
|
||||||
Stack<int> offsetStack = new Stack<int>();
|
Stack<int> offsetStack = new Stack<int>();
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
SourceLocation sl = null;
|
SourceLocation sl = null;
|
||||||
/*if (lines_to_locations.TryGetValue(LineNum, out sl))
|
/*if (lines_to_locations.TryGetValue(LineNum, out sl))
|
||||||
if (sl.FileName == FileName)
|
if (sl.file_name == file_name)
|
||||||
{
|
{
|
||||||
sl.BeginPosition.Column = sl.EndPosition.Column = ColumnNum;
|
sl.BeginPosition.Column = sl.EndPosition.Column = ColumnNum;
|
||||||
locations.Remove(sl);
|
locations.Remove(sl);
|
||||||
|
|
|
||||||
|
|
@ -243,7 +243,7 @@ namespace VisualPascalABC
|
||||||
|
|
||||||
public void SendText(string FileName, string Text)
|
public void SendText(string FileName, string Text)
|
||||||
{
|
{
|
||||||
//messageServer.SendText(FileName, Text);
|
//messageServer.SendText(file_name, Text);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*private void MessageQueueReceive_Callback(IAsyncResult ar)
|
/*private void MessageQueueReceive_Callback(IAsyncResult ar)
|
||||||
|
|
|
||||||
|
|
@ -250,7 +250,7 @@ namespace VisualPascalABC
|
||||||
return ed.Document.TextContent;
|
return ed.Document.TextContent;
|
||||||
if (!File.Exists(FileName))
|
if (!File.Exists(FileName))
|
||||||
return null;
|
return null;
|
||||||
/*TextReader tr = new StreamReader(FileName, System.Text.Encoding.GetEncoding(1251));
|
/*TextReader tr = new StreamReader(file_name, System.Text.Encoding.GetEncoding(1251));
|
||||||
string Text = tr.ReadToEnd();
|
string Text = tr.ReadToEnd();
|
||||||
tr.Close();*/
|
tr.Close();*/
|
||||||
string Text = PascalABCCompiler.FileReader.ReadFileContent(FileName, null);
|
string Text = PascalABCCompiler.FileReader.ReadFileContent(FileName, null);
|
||||||
|
|
|
||||||
|
|
@ -104,16 +104,16 @@ namespace VisualPascalABC.Avalon
|
||||||
|
|
||||||
public void UpdateFolding()
|
public void UpdateFolding()
|
||||||
{
|
{
|
||||||
CodeCompletionParserController.open_files[this.FileName] = true;
|
CodeCompletionParserController.open_files[this.file_name] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateFolding(object parseInfo, string fileName)
|
public void UpdateFolding(object parseInfo, string file_name)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (EnableFolding && fileName == this.FileName)
|
if (EnableFolding && file_name == this.file_name)
|
||||||
{
|
{
|
||||||
foldingManager.UpdateFoldings(fileName, parseInfo);
|
foldingManager.UpdateFoldings(file_name, parseInfo);
|
||||||
refresh_Folding();
|
refresh_Folding();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -514,7 +514,7 @@ namespace VisualPascalABC
|
||||||
List<PascalABCCompiler.Errors.CompilerWarning> Warnings = new List<PascalABCCompiler.Errors.CompilerWarning>();
|
List<PascalABCCompiler.Errors.CompilerWarning> Warnings = new List<PascalABCCompiler.Errors.CompilerWarning>();
|
||||||
//PascalABCCompiler.SyntaxTree.syntax_tree_node sn =
|
//PascalABCCompiler.SyntaxTree.syntax_tree_node sn =
|
||||||
// MainForm.VisualEnvironmentCompiler.Compiler.ParsersController.Compile(
|
// MainForm.VisualEnvironmentCompiler.Compiler.ParsersController.Compile(
|
||||||
// FileName, TextEditor.Text, null, Errors, PascalABCCompiler.Parsers.ParseMode.Normal);
|
// file_name, TextEditor.Text, null, Errors, PascalABCCompiler.Parsers.ParseMode.Normal);
|
||||||
PascalABCCompiler.SyntaxTree.compilation_unit sn =
|
PascalABCCompiler.SyntaxTree.compilation_unit sn =
|
||||||
CodeCompletion.CodeCompletionController.ParsersController.GetCompilationUnit(
|
CodeCompletion.CodeCompletionController.ParsersController.GetCompilationUnit(
|
||||||
VisualPABCSingleton.MainForm._currentCodeFileDocument.FileName,
|
VisualPABCSingleton.MainForm._currentCodeFileDocument.FileName,
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,7 @@ namespace VisualPascalABC
|
||||||
MainForm.ExecuteErrorPos(er.SourceLocation, 2);
|
MainForm.ExecuteErrorPos(er.SourceLocation, 2);
|
||||||
else // ImageIndex==2 - ошибка выполнения
|
else // ImageIndex==2 - ошибка выполнения
|
||||||
MainForm.ExecuteErrorPos(er.SourceLocation, 1);
|
MainForm.ExecuteErrorPos(er.SourceLocation, 1);
|
||||||
//OpenFile(er.SourceLocation.FileName);
|
//OpenFile(er.SourceLocation.file_name);
|
||||||
//(tabControl1.SelectedTab.ag as CodeFileDocumentControl).TextEditor.CaretPosition(er.SourceLocation.BeginPosition.Line,er.SourceLocation.BeginPosition.Column);
|
//(tabControl1.SelectedTab.ag as CodeFileDocumentControl).TextEditor.CaretPosition(er.SourceLocation.BeginPosition.Line,er.SourceLocation.BeginPosition.Column);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -612,7 +612,7 @@ namespace VisualPascalABC
|
||||||
case VisualEnvironmentCompilerAction.OpenFile:
|
case VisualEnvironmentCompilerAction.OpenFile:
|
||||||
return WorkbenchServiceFactory.FileService.OpenFile((string)obj, null);
|
return WorkbenchServiceFactory.FileService.OpenFile((string)obj, null);
|
||||||
case VisualEnvironmentCompilerAction.GetDirectory:
|
case VisualEnvironmentCompilerAction.GetDirectory:
|
||||||
string s=VisualEnvironmentCompiler.Compiler.CompilerOptions.StandartDirectories[(string)obj] as string;
|
string s=VisualEnvironmentCompiler.Compiler.CompilerOptions.StandardDirectories[(string)obj] as string;
|
||||||
if (s != null)
|
if (s != null)
|
||||||
return s;
|
return s;
|
||||||
return WorkbenchStorage.StandartDirectories[(string)obj] as string;
|
return WorkbenchStorage.StandartDirectories[(string)obj] as string;
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,9 @@ namespace ICSharpCode.FormsDesigner.Services
|
||||||
}
|
}
|
||||||
/* We don't need to debug controls inside the forms designer
|
/* We don't need to debug controls inside the forms designer
|
||||||
files = Directory.GetFiles(Path.GetTempPath(), "*.pdb");
|
files = Directory.GetFiles(Path.GetTempPath(), "*.pdb");
|
||||||
foreach (string fileName in files) {
|
foreach (string file_name in files) {
|
||||||
try {
|
try {
|
||||||
File.Delete(fileName);
|
File.Delete(file_name);
|
||||||
} catch {}
|
} catch {}
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
@ -268,7 +268,7 @@ namespace ICSharpCode.FormsDesigner.Services
|
||||||
File.Copy(fileName, tempPath);
|
File.Copy(fileName, tempPath);
|
||||||
|
|
||||||
/* We don't need to debug controls inside the forms designer
|
/* We don't need to debug controls inside the forms designer
|
||||||
string pdbpath = Path.GetDirectoryName(fileName) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(fileName) + ".pdb";
|
string pdbpath = Path.GetDirectoryName(file_name) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(file_name) + ".pdb";
|
||||||
if (File.Exists(pdbpath)) {
|
if (File.Exists(pdbpath)) {
|
||||||
string newpdbpath = Path.GetTempPath() + Path.DirectorySeparatorChar + Path.GetFileName(pdbpath);
|
string newpdbpath = Path.GetTempPath() + Path.DirectorySeparatorChar + Path.GetFileName(pdbpath);
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -600,7 +600,7 @@ namespace VisualPascalABC
|
||||||
List<PascalABCCompiler.Errors.Error> Errors = new List<PascalABCCompiler.Errors.Error>();
|
List<PascalABCCompiler.Errors.Error> Errors = new List<PascalABCCompiler.Errors.Error>();
|
||||||
//PascalABCCompiler.SyntaxTree.syntax_tree_node sn =
|
//PascalABCCompiler.SyntaxTree.syntax_tree_node sn =
|
||||||
// MainForm.VisualEnvironmentCompiler.Compiler.ParsersController.Compile(
|
// MainForm.VisualEnvironmentCompiler.Compiler.ParsersController.Compile(
|
||||||
// FileName, TextEditor.Text, null, Errors, PascalABCCompiler.Parsers.ParseMode.Normal);
|
// file_name, TextEditor.Text, null, Errors, PascalABCCompiler.Parsers.ParseMode.Normal);
|
||||||
string text = WorkbenchServiceFactory.Workbench.VisualEnvironmentCompiler.SourceFilesProvider(VisualPABCSingleton.MainForm.CurrentCodeFileDocument.FileName, PascalABCCompiler.SourceFileOperation.GetText) as string;
|
string text = WorkbenchServiceFactory.Workbench.VisualEnvironmentCompiler.SourceFilesProvider(VisualPABCSingleton.MainForm.CurrentCodeFileDocument.FileName, PascalABCCompiler.SourceFileOperation.GetText) as string;
|
||||||
PascalABCCompiler.SyntaxTree.compilation_unit cu =
|
PascalABCCompiler.SyntaxTree.compilation_unit cu =
|
||||||
CodeCompletion.CodeCompletionController.ParsersController.GetCompilationUnitForFormatter(
|
CodeCompletion.CodeCompletionController.ParsersController.GetCompilationUnitForFormatter(
|
||||||
|
|
|
||||||
|
|
@ -178,8 +178,9 @@ namespace VisualPascalABC
|
||||||
CodeCompletion.DomConverter dconv = (CodeCompletion.DomConverter)CodeCompletion.CodeCompletionController.comp_modules[editor.FileName];
|
CodeCompletion.DomConverter dconv = (CodeCompletion.DomConverter)CodeCompletion.CodeCompletionController.comp_modules[editor.FileName];
|
||||||
if (dconv != null)
|
if (dconv != null)
|
||||||
{
|
{
|
||||||
|
// TODO: check endl error | added null check EVA
|
||||||
CodeCompletion.SymScope ss = dconv.FindScopeByLocation(editor.ActiveTextAreaControl.TextArea.Caret.Line + 1, editor.ActiveTextAreaControl.TextArea.Caret.Column + 1);
|
CodeCompletion.SymScope ss = dconv.FindScopeByLocation(editor.ActiveTextAreaControl.TextArea.Caret.Line + 1, editor.ActiveTextAreaControl.TextArea.Caret.Column + 1);
|
||||||
ss.IncreaseEndLine();
|
ss?.IncreaseEndLine();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ namespace VisualPascalABC
|
||||||
open_files[FileName] = false;
|
open_files[FileName] = false;
|
||||||
if (dc.is_compiled)
|
if (dc.is_compiled)
|
||||||
{
|
{
|
||||||
//CodeCompletion.CodeCompletionController.comp_modules.Remove(FileName);
|
//CodeCompletion.CodeCompletionController.comp_modules.Remove(file_name);
|
||||||
if (tmp != null && tmp.visitor.entry_scope != null)
|
if (tmp != null && tmp.visitor.entry_scope != null)
|
||||||
{
|
{
|
||||||
tmp.visitor.entry_scope.Clear();
|
tmp.visitor.entry_scope.Clear();
|
||||||
|
|
|
||||||
|
|
@ -236,7 +236,7 @@ namespace VisualPascalABC
|
||||||
if (dconv == null) return new List<SymbolsViewerSymbol>();
|
if (dconv == null) return new List<SymbolsViewerSymbol>();
|
||||||
List<SymbolsViewerSymbol> lst = InternalFindReferences(fileName, e, line, column, for_refact);
|
List<SymbolsViewerSymbol> lst = InternalFindReferences(fileName, e, line, column, for_refact);
|
||||||
//if (lst != null && expr != null && for_refact)
|
//if (lst != null && expr != null && for_refact)
|
||||||
//lst.Insert(0,new SymbolsViewerSymbol(new PascalABCCompiler.SourceLocation(fileName,line+1,column,line+1,column+expr.Length),ImagesProvider.IconNumberGotoText));
|
//lst.Insert(0,new SymbolsViewerSymbol(new PascalABCCompiler.SourceLocation(file_name,line+1,column,line+1,column+expr.Length),ImagesProvider.IconNumberGotoText));
|
||||||
return lst;
|
return lst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -520,7 +520,7 @@ namespace VisualPascalABC
|
||||||
|
|
||||||
foreach (SymInfo mi in mis)
|
foreach (SymInfo mi in mis)
|
||||||
{
|
{
|
||||||
if (mi.not_include) continue;
|
if (mi == null || mi.not_include) continue;
|
||||||
if (cache.Contains(mi.name + mi.kind))
|
if (cache.Contains(mi.name + mi.kind))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
@ -572,7 +572,7 @@ namespace VisualPascalABC
|
||||||
controller = new CodeCompletion.CodeCompletionController();
|
controller = new CodeCompletion.CodeCompletionController();
|
||||||
int off = textArea.Caret.Offset;
|
int off = textArea.Caret.Offset;
|
||||||
string text = textArea.Document.TextContent.Substring(0, textArea.Caret.Offset);
|
string text = textArea.Document.TextContent.Substring(0, textArea.Caret.Offset);
|
||||||
//controller.Compile(fileName, text /*+ ")))));end."*/);
|
//controller.Compile(file_name, text /*+ ")))));end."*/);
|
||||||
FileName = fileName; Text = text;
|
FileName = fileName; Text = text;
|
||||||
ICompletionData[] data = GetCompletionData(off, text, textArea.Caret.Line, textArea.Caret.Column, charTyped, keyw);
|
ICompletionData[] data = GetCompletionData(off, text, textArea.Caret.Line, textArea.Caret.Column, charTyped, keyw);
|
||||||
CodeCompletion.AssemblyDocCache.CompleteDocumentation();
|
CodeCompletion.AssemblyDocCache.CompleteDocumentation();
|
||||||
|
|
@ -626,7 +626,7 @@ namespace VisualPascalABC
|
||||||
controller = new CodeCompletion.CodeCompletionController();
|
controller = new CodeCompletion.CodeCompletionController();
|
||||||
int off = textArea.Caret.Offset;
|
int off = textArea.Caret.Offset;
|
||||||
string text = textArea.Document.TextContent.Substring(0, textArea.Caret.Offset);
|
string text = textArea.Document.TextContent.Substring(0, textArea.Caret.Offset);
|
||||||
//controller.Compile(fileName, text /*+ ")))));end."*/);
|
//controller.Compile(file_name, text /*+ ")))));end."*/);
|
||||||
FileName = fileName; Text = text;
|
FileName = fileName; Text = text;
|
||||||
ICompletionData[] data = GetCompletionDataByFirst(off, text, textArea.Caret.Line, textArea.Caret.Column, charTyped, keyw);
|
ICompletionData[] data = GetCompletionDataByFirst(off, text, textArea.Caret.Line, textArea.Caret.Column, charTyped, keyw);
|
||||||
CodeCompletion.AssemblyDocCache.CompleteDocumentation();
|
CodeCompletion.AssemblyDocCache.CompleteDocumentation();
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
// Still needed ?
|
// Still needed ?
|
||||||
/*if (currentCompilationUnit == null) {
|
/*if (currentCompilationUnit == null) {
|
||||||
currentCompilationUnit = (ICompilationUnit)ParserService.GetParseInformation(Path.GetFullPath(textAreaControl.FileName)).MostRecentCompilationUnit;
|
currentCompilationUnit = (ICompilationUnit)ParserService.GetParseInformation(Path.GetFullPath(textAreaControl.file_name)).MostRecentCompilationUnit;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
autoselect = false;
|
autoselect = false;
|
||||||
|
|
@ -803,7 +803,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
//textAreaControl.ActiveTextAreaControl.Caret.Position = new ICSharpCode.TextEditor.TextLocation(item.Column, item.Line);
|
//textAreaControl.ActiveTextAreaControl.Caret.Position = new ICSharpCode.TextEditor.TextLocation(item.Column, item.Line);
|
||||||
//textAreaControl.ActiveTextAreaControl.TextArea.Focus();
|
//textAreaControl.ActiveTextAreaControl.TextArea.Focus();
|
||||||
//VisualPABCSingleton.MainForm.ExecuteSourceLocationAction(new PascalABCCompiler.SourceLocation(textAreaControl.FileName,item.Line+1,item.Column,
|
//VisualPABCSingleton.MainForm.ExecuteSourceLocationAction(new PascalABCCompiler.SourceLocation(textAreaControl.file_name,item.Line+1,item.Column,
|
||||||
// item.EndLine+1,item.Column),VisualPascalABCPlugins.SourceLocationAction.NavigationGoto);
|
// item.EndLine+1,item.Column),VisualPascalABCPlugins.SourceLocationAction.NavigationGoto);
|
||||||
VisualPABCSingleton.MainForm.VisualEnvironmentCompiler.ExecuteSourceLocationAction(
|
VisualPABCSingleton.MainForm.VisualEnvironmentCompiler.ExecuteSourceLocationAction(
|
||||||
new PascalABCCompiler.SourceLocation(textAreaControl.FileName, item.Line + 1, item.Column + 1, item.Line + 1, item.Column + 1), VisualPascalABCPlugins.SourceLocationAction.GotoBeg);
|
new PascalABCCompiler.SourceLocation(textAreaControl.FileName, item.Line + 1, item.Column + 1, item.Line + 1, item.Column + 1), VisualPascalABCPlugins.SourceLocationAction.GotoBeg);
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
ITextEditorControlProvider tecp = viewContent as ITextEditorControlProvider;
|
ITextEditorControlProvider tecp = viewContent as ITextEditorControlProvider;
|
||||||
if (tecp != null)
|
if (tecp != null)
|
||||||
SetPosition(tecp.TextEditorControl.FileName, tecp.TextEditorControl.Document, makerStartLine, makerStartColumn, makerEndLine, makerEndColumn);
|
SetPosition(tecp.TextEditorControl.file_name, tecp.TextEditorControl.Document, makerStartLine, makerStartColumn, makerEndLine, makerEndColumn);
|
||||||
else
|
else
|
||||||
Remove();
|
Remove();
|
||||||
}*/
|
}*/
|
||||||
|
|
@ -269,7 +269,7 @@ namespace VisualPascalABC
|
||||||
static int endLine;
|
static int endLine;
|
||||||
static int endColumn;
|
static int endColumn;
|
||||||
|
|
||||||
//public static void SetPosition(string fileName, IDocument document, int makerStartLine, int makerEndLine)
|
//public static void SetPosition(string file_name, IDocument document, int makerStartLine, int makerEndLine)
|
||||||
public static void SetPosition(TextEditorControl ctrl, int makerStartLine)
|
public static void SetPosition(TextEditorControl ctrl, int makerStartLine)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
@ -342,7 +342,7 @@ namespace VisualPascalABC
|
||||||
static int endLine;
|
static int endLine;
|
||||||
static int endColumn;
|
static int endColumn;
|
||||||
|
|
||||||
//public static void SetPosition(string fileName, IDocument document, int makerStartLine, int makerEndLine)
|
//public static void SetPosition(string file_name, IDocument document, int makerStartLine, int makerEndLine)
|
||||||
public static void SetPosition(TextEditorControl ctrl, int makerStartLine)
|
public static void SetPosition(TextEditorControl ctrl, int makerStartLine)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
@ -426,7 +426,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
ITextEditorControlProvider tecp = viewContent as ITextEditorControlProvider;
|
ITextEditorControlProvider tecp = viewContent as ITextEditorControlProvider;
|
||||||
if (tecp != null)
|
if (tecp != null)
|
||||||
SetPosition(tecp.TextEditorControl.FileName, tecp.TextEditorControl.Document, makerStartLine, makerStartColumn, makerEndLine, makerEndColumn);
|
SetPosition(tecp.TextEditorControl.file_name, tecp.TextEditorControl.Document, makerStartLine, makerStartColumn, makerEndLine, makerEndColumn);
|
||||||
else
|
else
|
||||||
Remove();
|
Remove();
|
||||||
}*/
|
}*/
|
||||||
|
|
|
||||||
|
|
@ -342,7 +342,7 @@ namespace VisualPascalABC
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавить Breakpoint в файл fileName строку line
|
/// Добавить Breakpoint в файл file_name строку line
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Breakpoint AddBreakPoint(string fileName, int line, bool commonBreakpoint)
|
public Breakpoint AddBreakPoint(string fileName, int line, bool commonBreakpoint)
|
||||||
{
|
{
|
||||||
|
|
@ -367,7 +367,7 @@ namespace VisualPascalABC
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получить список Breakpointov в файле fileName
|
/// Получить список Breakpointov в файле file_name
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<Breakpoint> GetBreakpointsInFile(string fileName)
|
public List<Breakpoint> GetBreakpointsInFile(string fileName)
|
||||||
{
|
{
|
||||||
|
|
@ -412,7 +412,7 @@ namespace VisualPascalABC
|
||||||
dbg.ProcessExited += debugProcessExit;
|
dbg.ProcessExited += debugProcessExit;
|
||||||
dbg.BreakpointHit += debugBreakpointHit;
|
dbg.BreakpointHit += debugBreakpointHit;
|
||||||
//if (brPoint != null) dbg.RemoveBreakpoint(brPoint);
|
//if (brPoint != null) dbg.RemoveBreakpoint(brPoint);
|
||||||
this.FileName = sourceFileName;//Path.GetFileNameWithoutExtension(fileName) + ".pas";
|
this.FileName = sourceFileName;//Path.GetFileNameWithoutExtension(file_name) + ".pas";
|
||||||
this.FullFileName = Path.Combine(Path.GetDirectoryName(fileName), this.FileName);
|
this.FullFileName = Path.Combine(Path.GetDirectoryName(fileName), this.FileName);
|
||||||
this.ExeFileName = fileName;
|
this.ExeFileName = fileName;
|
||||||
this.PrevFullFileName = FullFileName;
|
this.PrevFullFileName = FullFileName;
|
||||||
|
|
@ -460,7 +460,7 @@ namespace VisualPascalABC
|
||||||
sourceFileName = workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileName;
|
sourceFileName = workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileName;
|
||||||
else
|
else
|
||||||
sourceFileName = ProjectFactory.Instance.CurrentProject.MainFile;
|
sourceFileName = ProjectFactory.Instance.CurrentProject.MainFile;
|
||||||
this.FileName = sourceFileName;//Path.GetFileNameWithoutExtension(fileName) + ".pas";
|
this.FileName = sourceFileName;//Path.GetFileNameWithoutExtension(file_name) + ".pas";
|
||||||
this.FullFileName = Path.Combine(Path.GetDirectoryName(fileName), this.FileName);
|
this.FullFileName = Path.Combine(Path.GetDirectoryName(fileName), this.FileName);
|
||||||
this.ExeFileName = fileName;
|
this.ExeFileName = fileName;
|
||||||
CurrentLine = 0;
|
CurrentLine = 0;
|
||||||
|
|
@ -469,7 +469,7 @@ namespace VisualPascalABC
|
||||||
AssemblyHelper.LoadAssembly(fileName);
|
AssemblyHelper.LoadAssembly(fileName);
|
||||||
dbg.ProcessStarted += debugProcessStarted;
|
dbg.ProcessStarted += debugProcessStarted;
|
||||||
dbg.ProcessExited += debugProcessExit;
|
dbg.ProcessExited += debugProcessExit;
|
||||||
//brPoint = dbg.AddBreakpoint(FileName, frm.VisualEnvironmentCompiler.Compiler.BeginOffset);
|
//brPoint = dbg.AddBreakpoint(file_name, frm.VisualEnvironmentCompiler.Compiler.BeginOffset);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
debuggedProcess = dbg.DebugActiveProcess(handle, fileName);
|
debuggedProcess = dbg.DebugActiveProcess(handle, fileName);
|
||||||
|
|
@ -1762,7 +1762,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//cur_brpt = dbg.AddBreakpoint(new SourcecodeSegment((frm.CurrentTabPage.ag as CodeFileDocumentControl).FileName,(frm.CurrentTabPage.ag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Line + 1,(frm.CurrentTabPage.Tag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Column + 1,
|
//cur_brpt = dbg.AddBreakpoint(new SourcecodeSegment((frm.CurrentTabPage.ag as CodeFileDocumentControl).file_name,(frm.CurrentTabPage.ag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Line + 1,(frm.CurrentTabPage.Tag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Column + 1,
|
||||||
// (frm.CurrentTabPage.ag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Column+100), true);
|
// (frm.CurrentTabPage.ag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Column+100), true);
|
||||||
workbench.WidgetController.SetStartDebugDisabled();
|
workbench.WidgetController.SetStartDebugDisabled();
|
||||||
currentBreakpoint = dbg.AddBreakpoint(WorkbenchServiceFactory.DocumentService.CurrentCodeFileDocument.FileName, WorkbenchServiceFactory.DocumentService.CurrentCodeFileDocument.TextEditor.ActiveTextAreaControl.Caret.Line + 1);
|
currentBreakpoint = dbg.AddBreakpoint(WorkbenchServiceFactory.DocumentService.CurrentCodeFileDocument.FileName, WorkbenchServiceFactory.DocumentService.CurrentCodeFileDocument.TextEditor.ActiveTextAreaControl.Caret.Line + 1);
|
||||||
|
|
|
||||||
|
|
@ -224,7 +224,7 @@ namespace VisualPascalABC
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
this.tbAppIcon.Text = Path.GetFileName(openFileDialog1.FileName);//PascalABCCompiler.Tools.RelativePathTo(ProjectFactory.Instance.CurrentProject.ProjectDirectory, openFileDialog1.FileName);
|
this.tbAppIcon.Text = Path.GetFileName(openFileDialog1.FileName);//PascalABCCompiler.Tools.RelativePathTo(ProjectFactory.Instance.CurrentProject.ProjectDirectory, openFileDialog1.file_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ namespace VisualPascalABC.Properties {
|
||||||
// с помощью такого средства, как ResGen или Visual Studio.
|
// с помощью такого средства, как ResGen или Visual Studio.
|
||||||
// Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
|
// Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
|
||||||
// с параметром /str или перестройте свой проект VS.
|
// с параметром /str или перестройте свой проект VS.
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
internal class Resources {
|
internal class Resources {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// Этот код создан программой.
|
// Этот код создан программой.
|
||||||
// Исполняемая версия:4.0.30319.1
|
// Исполняемая версия:4.0.30319.42000
|
||||||
//
|
//
|
||||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||||
// повторной генерации кода.
|
// повторной генерации кода.
|
||||||
|
|
@ -12,7 +12,7 @@ namespace VisualPascalABC.Properties {
|
||||||
|
|
||||||
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
|
||||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|
|
||||||
|
|
@ -425,6 +425,7 @@
|
||||||
<Compile Include="Workbench\WorkbenchServiceFactory.cs" />
|
<Compile Include="Workbench\WorkbenchServiceFactory.cs" />
|
||||||
<EmbeddedResource Include="ABCHealth.resx">
|
<EmbeddedResource Include="ABCHealth.resx">
|
||||||
<DependentUpon>ABCHealth.cs</DependentUpon>
|
<DependentUpon>ABCHealth.cs</DependentUpon>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="AboutBox.resx">
|
<EmbeddedResource Include="AboutBox.resx">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
|
|
|
||||||
|
|
@ -71,13 +71,13 @@ namespace VisualPascalABC
|
||||||
if (Path.GetDirectoryName(CompilerOptions1.SourceFileName).ToLower() == ((string)WorkbenchStorage.StandartDirectories[Constants.LibSourceDirectoryIdent]).ToLower())
|
if (Path.GetDirectoryName(CompilerOptions1.SourceFileName).ToLower() == ((string)WorkbenchStorage.StandartDirectories[Constants.LibSourceDirectoryIdent]).ToLower())
|
||||||
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = false;
|
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = false;
|
||||||
if (RuntimeServicesModule != null)
|
if (RuntimeServicesModule != null)
|
||||||
CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandardModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
||||||
|
|
||||||
string ofn = Workbench.VisualEnvironmentCompiler.Compile(CompilerOptions1);
|
string ofn = Workbench.VisualEnvironmentCompiler.Compile(CompilerOptions1);
|
||||||
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = savePCU;
|
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = savePCU;
|
||||||
|
|
||||||
if (RuntimeServicesModule != null)
|
if (RuntimeServicesModule != null)
|
||||||
CompilerOptions1.RemoveStandartModuleAtIndex(CompilerOptions1.StandartModules.Count - 1);
|
CompilerOptions1.RemoveStandardModuleAtIndex(CompilerOptions1.StandardModules.Count - 1);
|
||||||
|
|
||||||
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
||||||
{
|
{
|
||||||
|
|
@ -111,9 +111,9 @@ namespace VisualPascalABC
|
||||||
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
||||||
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
||||||
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
||||||
// CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
// CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
||||||
if (RuntimeServicesModule != null)
|
if (RuntimeServicesModule != null)
|
||||||
CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandardModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
||||||
|
|
||||||
ErrorsList.Clear();
|
ErrorsList.Clear();
|
||||||
|
|
||||||
|
|
@ -127,7 +127,7 @@ namespace VisualPascalABC
|
||||||
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = savePCU;
|
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = savePCU;
|
||||||
|
|
||||||
if (RuntimeServicesModule != null)
|
if (RuntimeServicesModule != null)
|
||||||
CompilerOptions1.RemoveStandartModuleAtIndex(CompilerOptions1.StandartModules.Count - 1);
|
CompilerOptions1.RemoveStandardModuleAtIndex(CompilerOptions1.StandardModules.Count - 1);
|
||||||
|
|
||||||
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
||||||
{
|
{
|
||||||
|
|
@ -159,16 +159,16 @@ namespace VisualPascalABC
|
||||||
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
||||||
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
||||||
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
||||||
// CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
// CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
||||||
if (__RuntimeServicesModule != null)
|
if (__RuntimeServicesModule != null)
|
||||||
CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandardModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
||||||
|
|
||||||
|
|
||||||
ErrorsList.Clear();
|
ErrorsList.Clear();
|
||||||
|
|
||||||
//CompilerOptions1.SavePCUInThreadPull = true;
|
//CompilerOptions1.SavePCUInThreadPull = true;
|
||||||
__savePCU = Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate;
|
__savePCU = Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate;
|
||||||
//if (Path.GetDirectoryName(FileName).ToLower() == ((string)StandartDirectories[Constants.LibSourceDirectoryIdent]).ToLower())
|
//if (Path.GetDirectoryName(file_name).ToLower() == ((string)StandartDirectories[Constants.LibSourceDirectoryIdent]).ToLower())
|
||||||
// VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = false;
|
// VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = false;
|
||||||
|
|
||||||
Workbench.VisualEnvironmentCompiler.Compiler.OnChangeCompilerState += CompilationOnChangeCompilerState;
|
Workbench.VisualEnvironmentCompiler.Compiler.OnChangeCompilerState += CompilationOnChangeCompilerState;
|
||||||
|
|
@ -195,9 +195,9 @@ namespace VisualPascalABC
|
||||||
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
||||||
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
||||||
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
||||||
// CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
// CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
||||||
if (__RuntimeServicesModule != null)
|
if (__RuntimeServicesModule != null)
|
||||||
CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandardModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
||||||
|
|
||||||
|
|
||||||
ErrorsList.Clear();
|
ErrorsList.Clear();
|
||||||
|
|
@ -267,7 +267,7 @@ namespace VisualPascalABC
|
||||||
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = __savePCU;
|
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = __savePCU;
|
||||||
|
|
||||||
if (__RuntimeServicesModule != null)
|
if (__RuntimeServicesModule != null)
|
||||||
CompilerOptions1.RemoveStandartModuleAtIndex(CompilerOptions1.StandartModules.Count - 1);
|
CompilerOptions1.RemoveStandardModuleAtIndex(CompilerOptions1.StandardModules.Count - 1);
|
||||||
|
|
||||||
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ namespace VisualPascalABC
|
||||||
|
|
||||||
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
|
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
|
||||||
{
|
{
|
||||||
//ReplaceLastFile(CurrentSourceFileName, saveFileDialog1.FileName);
|
//ReplaceLastFile(CurrentSourceFileName, saveFileDialog1.file_name);
|
||||||
string fn = Tools.FileNameToLower(saveFileDialog1.FileName);
|
string fn = Tools.FileNameToLower(saveFileDialog1.FileName);
|
||||||
if (OpenDocuments.ContainsKey(fn) && OpenDocuments[fn] != CurrentCodeFileDocument)
|
if (OpenDocuments.ContainsKey(fn) && OpenDocuments[fn] != CurrentCodeFileDocument)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -150,7 +150,7 @@ namespace VisualPascalABC
|
||||||
visualStates.FileOpened = true;//?????
|
visualStates.FileOpened = true;//?????
|
||||||
if (!IsNewFile && !File.Exists(FileName))
|
if (!IsNewFile && !File.Exists(FileName))
|
||||||
{
|
{
|
||||||
//MessageBox.Show(string.Format(PascalABCCompiler.StringResources.Get("!FILE_NOT_FOUND{0}"), FileName), PascalABCCompiler.StringResources.Get("!ERROR"), MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
//MessageBox.Show(string.Format(PascalABCCompiler.StringResources.Get("!FILE_NOT_FOUND{0}"), file_name), PascalABCCompiler.StringResources.Get("!ERROR"), MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
bool exists = false;
|
bool exists = false;
|
||||||
foreach (string s in search_debug_paths)
|
foreach (string s in search_debug_paths)
|
||||||
{
|
{
|
||||||
|
|
@ -189,7 +189,7 @@ namespace VisualPascalABC
|
||||||
else
|
else
|
||||||
if (!IsNewFile)
|
if (!IsNewFile)
|
||||||
{
|
{
|
||||||
//CheckErrorListAndClear((tabControl1.TabPages[TabIndex].ag as CodeFileDocumentControl).FileName);
|
//CheckErrorListAndClear((tabControl1.TabPages[TabIndex].ag as CodeFileDocumentControl).file_name);
|
||||||
CurrentCodeFileDocument.FileName = FileName;
|
CurrentCodeFileDocument.FileName = FileName;
|
||||||
if (!ProjectFactory.Instance.ProjectLoaded)
|
if (!ProjectFactory.Instance.ProjectLoaded)
|
||||||
SetTabPageText(CurrentCodeFileDocument);
|
SetTabPageText(CurrentCodeFileDocument);
|
||||||
|
|
|
||||||
|
|
@ -460,8 +460,8 @@ namespace VisualPascalABC
|
||||||
clicked_stop_debug_in_menu = false;
|
clicked_stop_debug_in_menu = false;
|
||||||
this.mDEBUGENDToolStripMenuItem.Enabled = false;
|
this.mDEBUGENDToolStripMenuItem.Enabled = false;
|
||||||
//Data fileInfo = debuggedPage.ag as CodeFileDocumentControl;
|
//Data fileInfo = debuggedPage.ag as CodeFileDocumentControl;
|
||||||
//debuggedPage.Text = Path.GetFileName(fileInfo.FileName);
|
//debuggedPage.Text = Path.GetFileName(fileInfo.file_name);
|
||||||
//debuggedPage.ToolTipText = fileInfo.FileName;
|
//debuggedPage.ToolTipText = fileInfo.file_name;
|
||||||
SetTabPageText(debuggedPage);
|
SetTabPageText(debuggedPage);
|
||||||
ChangeDebugButtons(false);
|
ChangeDebugButtons(false);
|
||||||
SaveDebugContext();
|
SaveDebugContext();
|
||||||
|
|
|
||||||
|
|
@ -252,7 +252,7 @@ namespace VisualPascalABC
|
||||||
SetTabPageText(edit);
|
SetTabPageText(edit);
|
||||||
edit.SetHighlightingStrategyForFile(FileName);
|
edit.SetHighlightingStrategyForFile(FileName);
|
||||||
OpenDocuments.Add(Tools.FileNameToLower(FileName), edit);
|
OpenDocuments.Add(Tools.FileNameToLower(FileName), edit);
|
||||||
//this.codeCompletionParserController.SetAsChanged(FileName);
|
//this.codeCompletionParserController.SetAsChanged(file_name);
|
||||||
//ivan
|
//ivan
|
||||||
AddBreakPointHandler(edit, FileName);
|
AddBreakPointHandler(edit, FileName);
|
||||||
var RunService = WorkbenchServiceFactory.RunService;
|
var RunService = WorkbenchServiceFactory.RunService;
|
||||||
|
|
@ -473,7 +473,7 @@ namespace VisualPascalABC
|
||||||
AddEditorHandlers(edit);
|
AddEditorHandlers(edit);
|
||||||
}
|
}
|
||||||
WorkbenchServiceFactory.CodeCompletionParserController.RegisterFileForParsing(tabName + ".pas");
|
WorkbenchServiceFactory.CodeCompletionParserController.RegisterFileForParsing(tabName + ".pas");
|
||||||
//edit.FileName = FileName;
|
//edit.file_name = file_name;
|
||||||
//SetTabPageText(edit);
|
//SetTabPageText(edit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -598,7 +598,7 @@ namespace VisualPascalABC
|
||||||
|
|
||||||
public void AddTextToOutputWindowSync(string fileName, string text)
|
public void AddTextToOutputWindowSync(string fileName, string text)
|
||||||
{
|
{
|
||||||
//BeginInvoke(new SetFileNameAndTextDelegate(AddTextToOutputWindow), fileName, text);
|
//BeginInvoke(new SetFileNameAndTextDelegate(AddTextToOutputWindow), file_name, text);
|
||||||
Invoke(new SetFileNameAndTextDelegate(AddTextToOutputWindow), fileName, text);
|
Invoke(new SetFileNameAndTextDelegate(AddTextToOutputWindow), fileName, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
|
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1"/></startup>
|
||||||
|
|
||||||
<System.Windows.Forms.ApplicationConfigurationSection>
|
<System.Windows.Forms.ApplicationConfigurationSection>
|
||||||
<add key="DpiAwareness" value="PerMonitorV2" />
|
<add key="DpiAwareness" value="PerMonitorV2"/>
|
||||||
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
|
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true"/>
|
||||||
</System.Windows.Forms.ApplicationConfigurationSection>
|
</System.Windows.Forms.ApplicationConfigurationSection>
|
||||||
|
|
||||||
<runtime>
|
<runtime>
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ namespace ICSharpCode.TextEditor.Document
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/* public class TestFoldingStrategy : IFoldingStrategy
|
/* public class TestFoldingStrategy : IFoldingStrategy
|
||||||
{
|
{
|
||||||
public List<FoldMarker> GenerateFoldMarkers(IDocument document, string fileName, object parseInformation)
|
public List<FoldMarker> GenerateFoldMarkers(IDocument document, string file_name, object parseInformation)
|
||||||
{
|
{
|
||||||
List<FoldMarker> l = new List<FoldMarker>();
|
List<FoldMarker> l = new List<FoldMarker>();
|
||||||
Stack<int> offsetStack = new Stack<int>();
|
Stack<int> offsetStack = new Stack<int>();
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
SourceLocation sl = null;
|
SourceLocation sl = null;
|
||||||
/*if (lines_to_locations.TryGetValue(LineNum, out sl))
|
/*if (lines_to_locations.TryGetValue(LineNum, out sl))
|
||||||
if (sl.FileName == FileName)
|
if (sl.file_name == file_name)
|
||||||
{
|
{
|
||||||
sl.BeginPosition.Column = sl.EndPosition.Column = ColumnNum;
|
sl.BeginPosition.Column = sl.EndPosition.Column = ColumnNum;
|
||||||
locations.Remove(sl);
|
locations.Remove(sl);
|
||||||
|
|
|
||||||
|
|
@ -246,7 +246,7 @@ namespace VisualPascalABC
|
||||||
|
|
||||||
public void SendText(string FileName, string Text)
|
public void SendText(string FileName, string Text)
|
||||||
{
|
{
|
||||||
//messageServer.SendText(FileName, Text);
|
//messageServer.SendText(file_name, Text);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*private void MessageQueueReceive_Callback(IAsyncResult ar)
|
/*private void MessageQueueReceive_Callback(IAsyncResult ar)
|
||||||
|
|
|
||||||
|
|
@ -250,7 +250,7 @@ namespace VisualPascalABC
|
||||||
return ed.Document.TextContent;
|
return ed.Document.TextContent;
|
||||||
if (!File.Exists(FileName))
|
if (!File.Exists(FileName))
|
||||||
return null;
|
return null;
|
||||||
/*TextReader tr = new StreamReader(FileName, System.Text.Encoding.GetEncoding(1251));
|
/*TextReader tr = new StreamReader(file_name, System.Text.Encoding.GetEncoding(1251));
|
||||||
string Text = tr.ReadToEnd();
|
string Text = tr.ReadToEnd();
|
||||||
tr.Close();*/
|
tr.Close();*/
|
||||||
string Text = PascalABCCompiler.FileReader.ReadFileContent(FileName, null);
|
string Text = PascalABCCompiler.FileReader.ReadFileContent(FileName, null);
|
||||||
|
|
|
||||||
|
|
@ -104,16 +104,16 @@ namespace VisualPascalABC.Avalon
|
||||||
|
|
||||||
public void UpdateFolding()
|
public void UpdateFolding()
|
||||||
{
|
{
|
||||||
CodeCompletionParserController.open_files[this.FileName] = true;
|
CodeCompletionParserController.open_files[this.file_name] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateFolding(object parseInfo, string fileName)
|
public void UpdateFolding(object parseInfo, string file_name)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (EnableFolding && fileName == this.FileName)
|
if (EnableFolding && file_name == this.file_name)
|
||||||
{
|
{
|
||||||
foldingManager.UpdateFoldings(fileName, parseInfo);
|
foldingManager.UpdateFoldings(file_name, parseInfo);
|
||||||
refresh_Folding();
|
refresh_Folding();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -521,10 +521,10 @@ namespace VisualPascalABC
|
||||||
List<PascalABCCompiler.Errors.CompilerWarning> Warnings = new List<PascalABCCompiler.Errors.CompilerWarning>();
|
List<PascalABCCompiler.Errors.CompilerWarning> Warnings = new List<PascalABCCompiler.Errors.CompilerWarning>();
|
||||||
//PascalABCCompiler.SyntaxTree.syntax_tree_node sn =
|
//PascalABCCompiler.SyntaxTree.syntax_tree_node sn =
|
||||||
// MainForm.VisualEnvironmentCompiler.Compiler.ParsersController.Compile(
|
// MainForm.VisualEnvironmentCompiler.Compiler.ParsersController.Compile(
|
||||||
// FileName, TextEditor.Text, null, Errors, PascalABCCompiler.Parsers.ParseMode.Normal);
|
// file_name, TextEditor.Text, null, Errors, PascalABCCompiler.Parsers.ParseMode.Normal);
|
||||||
PascalABCCompiler.SyntaxTree.compilation_unit sn =
|
PascalABCCompiler.SyntaxTree.compilation_unit sn =
|
||||||
CodeCompletion.CodeCompletionController.ParsersController.GetCompilationUnit(
|
CodeCompletion.CodeCompletionController.ParsersController.GetCompilationUnit(
|
||||||
VisualPABCSingleton.MainForm._currentCodeFileDocument.FileName,
|
VisualPABCSingleton.MainForm._currentCodeFileDocument.file_name,
|
||||||
existing_text, //VisualPascalABC.Form1.Form1_object._currentCodeFileDocument.TextEditor.Text,
|
existing_text, //VisualPascalABC.Form1.Form1_object._currentCodeFileDocument.TextEditor.Text,
|
||||||
Errors,
|
Errors,
|
||||||
Warnings);
|
Warnings);
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,7 @@ namespace VisualPascalABC
|
||||||
MainForm.ExecuteErrorPos(er.SourceLocation, 2);
|
MainForm.ExecuteErrorPos(er.SourceLocation, 2);
|
||||||
else // ImageIndex==2 - ошибка выполнения
|
else // ImageIndex==2 - ошибка выполнения
|
||||||
MainForm.ExecuteErrorPos(er.SourceLocation, 1);
|
MainForm.ExecuteErrorPos(er.SourceLocation, 1);
|
||||||
//OpenFile(er.SourceLocation.FileName);
|
//OpenFile(er.SourceLocation.file_name);
|
||||||
//(tabControl1.SelectedTab.ag as CodeFileDocumentControl).TextEditor.CaretPosition(er.SourceLocation.BeginPosition.Line,er.SourceLocation.BeginPosition.Column);
|
//(tabControl1.SelectedTab.ag as CodeFileDocumentControl).TextEditor.CaretPosition(er.SourceLocation.BeginPosition.Line,er.SourceLocation.BeginPosition.Column);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -711,7 +711,7 @@ namespace VisualPascalABC
|
||||||
case VisualEnvironmentCompilerAction.OpenFile:
|
case VisualEnvironmentCompilerAction.OpenFile:
|
||||||
return WorkbenchServiceFactory.FileService.OpenFile((string)obj, null);
|
return WorkbenchServiceFactory.FileService.OpenFile((string)obj, null);
|
||||||
case VisualEnvironmentCompilerAction.GetDirectory:
|
case VisualEnvironmentCompilerAction.GetDirectory:
|
||||||
string s=VisualEnvironmentCompiler.Compiler.CompilerOptions.StandartDirectories[(string)obj] as string;
|
string s=VisualEnvironmentCompiler.Compiler.CompilerOptions.StandardDirectories[(string)obj] as string;
|
||||||
if (s != null)
|
if (s != null)
|
||||||
return s;
|
return s;
|
||||||
return WorkbenchStorage.StandartDirectories[(string)obj] as string;
|
return WorkbenchStorage.StandartDirectories[(string)obj] as string;
|
||||||
|
|
|
||||||
|
|
@ -600,7 +600,7 @@ namespace VisualPascalABC
|
||||||
List<PascalABCCompiler.Errors.Error> Errors = new List<PascalABCCompiler.Errors.Error>();
|
List<PascalABCCompiler.Errors.Error> Errors = new List<PascalABCCompiler.Errors.Error>();
|
||||||
//PascalABCCompiler.SyntaxTree.syntax_tree_node sn =
|
//PascalABCCompiler.SyntaxTree.syntax_tree_node sn =
|
||||||
// MainForm.VisualEnvironmentCompiler.Compiler.ParsersController.Compile(
|
// MainForm.VisualEnvironmentCompiler.Compiler.ParsersController.Compile(
|
||||||
// FileName, TextEditor.Text, null, Errors, PascalABCCompiler.Parsers.ParseMode.Normal);
|
// file_name, TextEditor.Text, null, Errors, PascalABCCompiler.Parsers.ParseMode.Normal);
|
||||||
string text = WorkbenchServiceFactory.Workbench.VisualEnvironmentCompiler.SourceFilesProvider(VisualPABCSingleton.MainForm.CurrentCodeFileDocument.FileName, PascalABCCompiler.SourceFileOperation.GetText) as string;
|
string text = WorkbenchServiceFactory.Workbench.VisualEnvironmentCompiler.SourceFilesProvider(VisualPABCSingleton.MainForm.CurrentCodeFileDocument.FileName, PascalABCCompiler.SourceFileOperation.GetText) as string;
|
||||||
PascalABCCompiler.SyntaxTree.compilation_unit cu =
|
PascalABCCompiler.SyntaxTree.compilation_unit cu =
|
||||||
CodeCompletion.CodeCompletionController.ParsersController.GetCompilationUnitForFormatter(
|
CodeCompletion.CodeCompletionController.ParsersController.GetCompilationUnitForFormatter(
|
||||||
|
|
|
||||||
|
|
@ -177,7 +177,7 @@ namespace VisualPascalABC
|
||||||
open_files[FileName] = false;
|
open_files[FileName] = false;
|
||||||
if (dc.is_compiled)
|
if (dc.is_compiled)
|
||||||
{
|
{
|
||||||
//CodeCompletion.CodeCompletionController.comp_modules.Remove(FileName);
|
//CodeCompletion.CodeCompletionController.comp_modules.Remove(file_name);
|
||||||
if (tmp != null && tmp.visitor.entry_scope != null)
|
if (tmp != null && tmp.visitor.entry_scope != null)
|
||||||
{
|
{
|
||||||
tmp.visitor.entry_scope.Clear();
|
tmp.visitor.entry_scope.Clear();
|
||||||
|
|
|
||||||
|
|
@ -236,7 +236,7 @@ namespace VisualPascalABC
|
||||||
if (dconv == null) return new List<SymbolsViewerSymbol>();
|
if (dconv == null) return new List<SymbolsViewerSymbol>();
|
||||||
List<SymbolsViewerSymbol> lst = InternalFindReferences(fileName, e, line, column, for_refact);
|
List<SymbolsViewerSymbol> lst = InternalFindReferences(fileName, e, line, column, for_refact);
|
||||||
//if (lst != null && expr != null && for_refact)
|
//if (lst != null && expr != null && for_refact)
|
||||||
//lst.Insert(0,new SymbolsViewerSymbol(new PascalABCCompiler.SourceLocation(fileName,line+1,column,line+1,column+expr.Length),ImagesProvider.IconNumberGotoText));
|
//lst.Insert(0,new SymbolsViewerSymbol(new PascalABCCompiler.SourceLocation(file_name,line+1,column,line+1,column+expr.Length),ImagesProvider.IconNumberGotoText));
|
||||||
return lst;
|
return lst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -572,7 +572,7 @@ namespace VisualPascalABC
|
||||||
controller = new CodeCompletion.CodeCompletionController();
|
controller = new CodeCompletion.CodeCompletionController();
|
||||||
int off = textArea.Caret.Offset;
|
int off = textArea.Caret.Offset;
|
||||||
string text = textArea.Document.TextContent.Substring(0, textArea.Caret.Offset);
|
string text = textArea.Document.TextContent.Substring(0, textArea.Caret.Offset);
|
||||||
//controller.Compile(fileName, text /*+ ")))));end."*/);
|
//controller.Compile(file_name, text /*+ ")))));end."*/);
|
||||||
FileName = fileName; Text = text;
|
FileName = fileName; Text = text;
|
||||||
ICompletionData[] data = GetCompletionData(off, text, textArea.Caret.Line, textArea.Caret.Column, charTyped, keyw);
|
ICompletionData[] data = GetCompletionData(off, text, textArea.Caret.Line, textArea.Caret.Column, charTyped, keyw);
|
||||||
CodeCompletion.AssemblyDocCache.CompleteDocumentation();
|
CodeCompletion.AssemblyDocCache.CompleteDocumentation();
|
||||||
|
|
@ -626,7 +626,7 @@ namespace VisualPascalABC
|
||||||
controller = new CodeCompletion.CodeCompletionController();
|
controller = new CodeCompletion.CodeCompletionController();
|
||||||
int off = textArea.Caret.Offset;
|
int off = textArea.Caret.Offset;
|
||||||
string text = textArea.Document.TextContent.Substring(0, textArea.Caret.Offset);
|
string text = textArea.Document.TextContent.Substring(0, textArea.Caret.Offset);
|
||||||
//controller.Compile(fileName, text /*+ ")))));end."*/);
|
//controller.Compile(file_name, text /*+ ")))));end."*/);
|
||||||
FileName = fileName; Text = text;
|
FileName = fileName; Text = text;
|
||||||
ICompletionData[] data = GetCompletionDataByFirst(off, text, textArea.Caret.Line, textArea.Caret.Column, charTyped, keyw);
|
ICompletionData[] data = GetCompletionDataByFirst(off, text, textArea.Caret.Line, textArea.Caret.Column, charTyped, keyw);
|
||||||
CodeCompletion.AssemblyDocCache.CompleteDocumentation();
|
CodeCompletion.AssemblyDocCache.CompleteDocumentation();
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
// Still needed ?
|
// Still needed ?
|
||||||
/*if (currentCompilationUnit == null) {
|
/*if (currentCompilationUnit == null) {
|
||||||
currentCompilationUnit = (ICompilationUnit)ParserService.GetParseInformation(Path.GetFullPath(textAreaControl.FileName)).MostRecentCompilationUnit;
|
currentCompilationUnit = (ICompilationUnit)ParserService.GetParseInformation(Path.GetFullPath(textAreaControl.file_name)).MostRecentCompilationUnit;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
autoselect = false;
|
autoselect = false;
|
||||||
|
|
@ -803,7 +803,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
//textAreaControl.ActiveTextAreaControl.Caret.Position = new ICSharpCode.TextEditor.TextLocation(item.Column, item.Line);
|
//textAreaControl.ActiveTextAreaControl.Caret.Position = new ICSharpCode.TextEditor.TextLocation(item.Column, item.Line);
|
||||||
//textAreaControl.ActiveTextAreaControl.TextArea.Focus();
|
//textAreaControl.ActiveTextAreaControl.TextArea.Focus();
|
||||||
//VisualPABCSingleton.MainForm.ExecuteSourceLocationAction(new PascalABCCompiler.SourceLocation(textAreaControl.FileName,item.Line+1,item.Column,
|
//VisualPABCSingleton.MainForm.ExecuteSourceLocationAction(new PascalABCCompiler.SourceLocation(textAreaControl.file_name,item.Line+1,item.Column,
|
||||||
// item.EndLine+1,item.Column),VisualPascalABCPlugins.SourceLocationAction.NavigationGoto);
|
// item.EndLine+1,item.Column),VisualPascalABCPlugins.SourceLocationAction.NavigationGoto);
|
||||||
VisualPABCSingleton.MainForm.VisualEnvironmentCompiler.ExecuteSourceLocationAction(
|
VisualPABCSingleton.MainForm.VisualEnvironmentCompiler.ExecuteSourceLocationAction(
|
||||||
new PascalABCCompiler.SourceLocation(textAreaControl.FileName, item.Line + 1, item.Column + 1, item.Line + 1, item.Column + 1), VisualPascalABCPlugins.SourceLocationAction.GotoBeg);
|
new PascalABCCompiler.SourceLocation(textAreaControl.FileName, item.Line + 1, item.Column + 1, item.Line + 1, item.Column + 1), VisualPascalABCPlugins.SourceLocationAction.GotoBeg);
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
ITextEditorControlProvider tecp = viewContent as ITextEditorControlProvider;
|
ITextEditorControlProvider tecp = viewContent as ITextEditorControlProvider;
|
||||||
if (tecp != null)
|
if (tecp != null)
|
||||||
SetPosition(tecp.TextEditorControl.FileName, tecp.TextEditorControl.Document, makerStartLine, makerStartColumn, makerEndLine, makerEndColumn);
|
SetPosition(tecp.TextEditorControl.file_name, tecp.TextEditorControl.Document, makerStartLine, makerStartColumn, makerEndLine, makerEndColumn);
|
||||||
else
|
else
|
||||||
Remove();
|
Remove();
|
||||||
}*/
|
}*/
|
||||||
|
|
@ -269,7 +269,7 @@ namespace VisualPascalABC
|
||||||
static int endLine;
|
static int endLine;
|
||||||
static int endColumn;
|
static int endColumn;
|
||||||
|
|
||||||
//public static void SetPosition(string fileName, IDocument document, int makerStartLine, int makerEndLine)
|
//public static void SetPosition(string file_name, IDocument document, int makerStartLine, int makerEndLine)
|
||||||
public static void SetPosition(TextEditorControl ctrl, int makerStartLine)
|
public static void SetPosition(TextEditorControl ctrl, int makerStartLine)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
@ -342,7 +342,7 @@ namespace VisualPascalABC
|
||||||
static int endLine;
|
static int endLine;
|
||||||
static int endColumn;
|
static int endColumn;
|
||||||
|
|
||||||
//public static void SetPosition(string fileName, IDocument document, int makerStartLine, int makerEndLine)
|
//public static void SetPosition(string file_name, IDocument document, int makerStartLine, int makerEndLine)
|
||||||
public static void SetPosition(TextEditorControl ctrl, int makerStartLine)
|
public static void SetPosition(TextEditorControl ctrl, int makerStartLine)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
@ -426,7 +426,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
ITextEditorControlProvider tecp = viewContent as ITextEditorControlProvider;
|
ITextEditorControlProvider tecp = viewContent as ITextEditorControlProvider;
|
||||||
if (tecp != null)
|
if (tecp != null)
|
||||||
SetPosition(tecp.TextEditorControl.FileName, tecp.TextEditorControl.Document, makerStartLine, makerStartColumn, makerEndLine, makerEndColumn);
|
SetPosition(tecp.TextEditorControl.file_name, tecp.TextEditorControl.Document, makerStartLine, makerStartColumn, makerEndLine, makerEndColumn);
|
||||||
else
|
else
|
||||||
Remove();
|
Remove();
|
||||||
}*/
|
}*/
|
||||||
|
|
|
||||||
|
|
@ -362,7 +362,7 @@ namespace VisualPascalABC
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавить Breakpoint в файл fileName строку line
|
/// Добавить Breakpoint в файл file_name строку line
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Mono.Debugging.Client.Breakpoint AddBreakPoint(string fileName, int line, bool commonBreakpoint)
|
public Mono.Debugging.Client.Breakpoint AddBreakPoint(string fileName, int line, bool commonBreakpoint)
|
||||||
{
|
{
|
||||||
|
|
@ -387,7 +387,7 @@ namespace VisualPascalABC
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получить список Breakpointov в файле fileName
|
/// Получить список Breakpointov в файле file_name
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<Mono.Debugging.Client.Breakpoint> GetBreakpointsInFile(string fileName)
|
public List<Mono.Debugging.Client.Breakpoint> GetBreakpointsInFile(string fileName)
|
||||||
{
|
{
|
||||||
|
|
@ -432,11 +432,11 @@ namespace VisualPascalABC
|
||||||
dbg.ProcessExited += debugProcessExit;
|
dbg.ProcessExited += debugProcessExit;
|
||||||
dbg.BreakpointHit += debugBreakpointHit;
|
dbg.BreakpointHit += debugBreakpointHit;
|
||||||
//if (brPoint != null) dbg.RemoveBreakpoint(brPoint);
|
//if (brPoint != null) dbg.RemoveBreakpoint(brPoint);
|
||||||
this.FileName = sourceFileName;//Path.GetFileNameWithoutExtension(fileName) + ".pas";
|
this.FileName = sourceFileName;//Path.GetFileNameWithoutExtension(file_name) + ".pas";
|
||||||
this.FullFileName = Path.Combine(Path.GetDirectoryName(fileName), this.FileName);
|
this.FullFileName = Path.Combine(Path.GetDirectoryName(fileName), this.FileName);
|
||||||
this.ExeFileName = fileName;
|
this.ExeFileName = fileName;
|
||||||
this.PrevFullFileName = FullFileName;
|
this.PrevFullFileName = FullFileName;
|
||||||
//if (need_first_brpt) brPoint = dbg.AddBreakpoint(FileName, workbench.VisualEnvironmentCompiler.Compiler.BeginOffset);
|
//if (need_first_brpt) brPoint = dbg.AddBreakpoint(file_name, workbench.VisualEnvironmentCompiler.Compiler.BeginOffset);
|
||||||
AssemblyHelper.LoadAssembly(fileName);
|
AssemblyHelper.LoadAssembly(fileName);
|
||||||
debuggedProcess = dbg.Start(fileName, workingDirectory, arguments);
|
debuggedProcess = dbg.Start(fileName, workingDirectory, arguments);
|
||||||
SelectProcess(debuggedProcess);
|
SelectProcess(debuggedProcess);
|
||||||
|
|
@ -484,7 +484,7 @@ namespace VisualPascalABC
|
||||||
sourceFileName = workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileName;
|
sourceFileName = workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileName;
|
||||||
else
|
else
|
||||||
sourceFileName = ProjectFactory.Instance.CurrentProject.MainFile;
|
sourceFileName = ProjectFactory.Instance.CurrentProject.MainFile;
|
||||||
this.FileName = sourceFileName;//Path.GetFileNameWithoutExtension(fileName) + ".pas";
|
this.FileName = sourceFileName;//Path.GetFileNameWithoutExtension(file_name) + ".pas";
|
||||||
this.FullFileName = Path.Combine(Path.GetDirectoryName(fileName), this.FileName);
|
this.FullFileName = Path.Combine(Path.GetDirectoryName(fileName), this.FileName);
|
||||||
this.ExeFileName = fileName;
|
this.ExeFileName = fileName;
|
||||||
CurrentLine = 0;
|
CurrentLine = 0;
|
||||||
|
|
@ -508,7 +508,7 @@ namespace VisualPascalABC
|
||||||
sourceFileName = workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileName;
|
sourceFileName = workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileName;
|
||||||
else
|
else
|
||||||
sourceFileName = ProjectFactory.Instance.CurrentProject.MainFile;
|
sourceFileName = ProjectFactory.Instance.CurrentProject.MainFile;
|
||||||
this.FileName = sourceFileName;//Path.GetFileNameWithoutExtension(fileName) + ".pas";
|
this.FileName = sourceFileName;//Path.GetFileNameWithoutExtension(file_name) + ".pas";
|
||||||
this.FullFileName = Path.Combine(Path.GetDirectoryName(fileName), this.FileName);
|
this.FullFileName = Path.Combine(Path.GetDirectoryName(fileName), this.FileName);
|
||||||
this.ExeFileName = fileName;
|
this.ExeFileName = fileName;
|
||||||
CurrentLine = 0;
|
CurrentLine = 0;
|
||||||
|
|
@ -519,7 +519,7 @@ namespace VisualPascalABC
|
||||||
Mono.Debugging.Client.DebuggerSessionOptions dso = new Mono.Debugging.Client.DebuggerSessionOptions();
|
Mono.Debugging.Client.DebuggerSessionOptions dso = new Mono.Debugging.Client.DebuggerSessionOptions();
|
||||||
dso.EvaluationOptions = Mono.Debugging.Client.EvaluationOptions.DefaultOptions.Clone();
|
dso.EvaluationOptions = Mono.Debugging.Client.EvaluationOptions.DefaultOptions.Clone();
|
||||||
|
|
||||||
//monoDebuggerSession.AttachToProcess(new Mono.Debugging.Client.ProcessInfo(handle, fileName), dso);
|
//monoDebuggerSession.AttachToProcess(new Mono.Debugging.Client.ProcessInfo(handle, file_name), dso);
|
||||||
Mono.Debugging.Soft.SoftDebuggerStartInfo dsi = new Mono.Debugging.Soft.SoftDebuggerStartInfo("", new Dictionary<string, string>());
|
Mono.Debugging.Soft.SoftDebuggerStartInfo dsi = new Mono.Debugging.Soft.SoftDebuggerStartInfo("", new Dictionary<string, string>());
|
||||||
dsi.Command = fileName;
|
dsi.Command = fileName;
|
||||||
dsi.Arguments = args;
|
dsi.Arguments = args;
|
||||||
|
|
@ -552,7 +552,7 @@ namespace VisualPascalABC
|
||||||
workbench.ServiceContainer.EditorService.SetEditorDisabled(true);
|
workbench.ServiceContainer.EditorService.SetEditorDisabled(true);
|
||||||
TooltipServiceManager.hideToolTip();
|
TooltipServiceManager.hideToolTip();
|
||||||
IsRunning = true;
|
IsRunning = true;
|
||||||
//evaluator = new ExpressionEvaluator(e.Process, workbench.VisualEnvironmentCompiler, FileName);
|
//evaluator = new ExpressionEvaluator(e.Process, workbench.VisualEnvironmentCompiler, file_name);
|
||||||
var process = (Mono.Debugger.Soft.VirtualMachineManager.currentProcess as Mono.Debugger.Soft.ProcessWrapper).Process;
|
var process = (Mono.Debugger.Soft.VirtualMachineManager.currentProcess as Mono.Debugger.Soft.ProcessWrapper).Process;
|
||||||
process.Exited += Process_Exited;
|
process.Exited += Process_Exited;
|
||||||
return (Mono.Debugger.Soft.VirtualMachineManager.currentProcess as Mono.Debugger.Soft.ProcessWrapper).Process;
|
return (Mono.Debugger.Soft.VirtualMachineManager.currentProcess as Mono.Debugger.Soft.ProcessWrapper).Process;
|
||||||
|
|
@ -741,7 +741,7 @@ namespace VisualPascalABC
|
||||||
|
|
||||||
public void SetFirstBreakpoint(string fileName, int line)
|
public void SetFirstBreakpoint(string fileName, int line)
|
||||||
{
|
{
|
||||||
//brPoint = dbg.AddBreakpoint(fileName, line);
|
//brPoint = dbg.AddBreakpoint(file_name, line);
|
||||||
brPoint = new Mono.Debugging.Client.Breakpoint(fileName, line, 1);
|
brPoint = new Mono.Debugging.Client.Breakpoint(fileName, line, 1);
|
||||||
monoDebuggerSession.Breakpoints.Add(brPoint);
|
monoDebuggerSession.Breakpoints.Add(brPoint);
|
||||||
}
|
}
|
||||||
|
|
@ -1199,7 +1199,7 @@ namespace VisualPascalABC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//CurrentLineBookmark.SetPosition(stackFrame.SourceLocation.FileName, curPage.TextEditor.Document, stackFrame.SourceLocation.Line, 1, stackFrame.SourceLocation.Line,
|
//CurrentLineBookmark.SetPosition(stackFrame.SourceLocation.file_name, curPage.TextEditor.Document, stackFrame.SourceLocation.Line, 1, stackFrame.SourceLocation.Line,
|
||||||
// len);
|
// len);
|
||||||
|
|
||||||
curPage.TextEditor.ActiveTextAreaControl.Invoke(new JumpToLineDelegate(JumpToLineInvoke), stackFrame.SourceLocation.Line - 1);
|
curPage.TextEditor.ActiveTextAreaControl.Invoke(new JumpToLineDelegate(JumpToLineInvoke), stackFrame.SourceLocation.Line - 1);
|
||||||
|
|
@ -2178,7 +2178,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//cur_brpt = dbg.AddBreakpoint(new SourcecodeSegment((frm.CurrentTabPage.ag as CodeFileDocumentControl).FileName,(frm.CurrentTabPage.ag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Line + 1,(frm.CurrentTabPage.Tag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Column + 1,
|
//cur_brpt = dbg.AddBreakpoint(new SourcecodeSegment((frm.CurrentTabPage.ag as CodeFileDocumentControl).file_name,(frm.CurrentTabPage.ag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Line + 1,(frm.CurrentTabPage.Tag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Column + 1,
|
||||||
// (frm.CurrentTabPage.ag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Column+100), true);
|
// (frm.CurrentTabPage.ag as CodeFileDocumentControl).TextEditor.ActiveTextAreaControl.Caret.Column+100), true);
|
||||||
workbench.WidgetController.SetStartDebugDisabled();
|
workbench.WidgetController.SetStartDebugDisabled();
|
||||||
currentBreakpoint = monoDebuggerSession.Breakpoints.Add(WorkbenchServiceFactory.DocumentService.CurrentCodeFileDocument.FileName, WorkbenchServiceFactory.DocumentService.CurrentCodeFileDocument.TextEditor.ActiveTextAreaControl.Caret.Line + 1);
|
currentBreakpoint = monoDebuggerSession.Breakpoints.Add(WorkbenchServiceFactory.DocumentService.CurrentCodeFileDocument.FileName, WorkbenchServiceFactory.DocumentService.CurrentCodeFileDocument.TextEditor.ActiveTextAreaControl.Caret.Line + 1);
|
||||||
|
|
|
||||||
|
|
@ -196,8 +196,8 @@ namespace Mono.Debugging.Evaluation
|
||||||
if (trace == null)
|
if (trace == null)
|
||||||
return ObjectValue.CreateUnknown ("StackTrace");
|
return ObjectValue.CreateUnknown ("StackTrace");
|
||||||
|
|
||||||
var regex = new Regex ("at (?<MethodName>.*) in (?<FileName>.*):(?<LineNumber>\\d+)(,(?<Column>\\d+))?");
|
var regex = new Regex ("at (?<MethodName>.*) in (?<file_name>.*):(?<LineNumber>\\d+)(,(?<Column>\\d+))?");
|
||||||
var regexLine = new Regex ("at (?<MethodName>.*) in (?<FileName>.*):line (?<LineNumber>\\d+)(,(?<Column>\\d+))?");
|
var regexLine = new Regex ("at (?<MethodName>.*) in (?<file_name>.*):line (?<LineNumber>\\d+)(,(?<Column>\\d+))?");
|
||||||
var frames = new List<ObjectValue> ();
|
var frames = new List<ObjectValue> ();
|
||||||
|
|
||||||
foreach (var sframe in trace.Split ('\n')) {
|
foreach (var sframe in trace.Split ('\n')) {
|
||||||
|
|
@ -215,14 +215,14 @@ namespace Mono.Debugging.Evaluation
|
||||||
var match = regex.Match (text);
|
var match = regex.Match (text);
|
||||||
if (match.Success) {
|
if (match.Success) {
|
||||||
text = match.Groups ["MethodName"].ToString ();
|
text = match.Groups ["MethodName"].ToString ();
|
||||||
file = match.Groups ["FileName"].ToString ();
|
file = match.Groups ["file_name"].ToString ();
|
||||||
int.TryParse (match.Groups ["LineNumber"].ToString (), out line);
|
int.TryParse (match.Groups ["LineNumber"].ToString (), out line);
|
||||||
int.TryParse (match.Groups ["Column"].ToString (), out column);
|
int.TryParse (match.Groups ["Column"].ToString (), out column);
|
||||||
} else {
|
} else {
|
||||||
match = regexLine.Match (text);
|
match = regexLine.Match (text);
|
||||||
if (match.Success) {
|
if (match.Success) {
|
||||||
text = match.Groups ["MethodName"].ToString ();
|
text = match.Groups ["MethodName"].ToString ();
|
||||||
file = match.Groups ["FileName"].ToString ();
|
file = match.Groups ["file_name"].ToString ();
|
||||||
int.TryParse (match.Groups ["LineNumber"].ToString (), out line);
|
int.TryParse (match.Groups ["LineNumber"].ToString (), out line);
|
||||||
int.TryParse (match.Groups ["Column"].ToString (), out column);
|
int.TryParse (match.Groups ["Column"].ToString (), out column);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -493,7 +493,7 @@ namespace Mono.Debugging.Soft
|
||||||
|
|
||||||
var parameters = eval.GetParameters (ctx);
|
var parameters = eval.GetParameters (ctx);
|
||||||
var startInfo = parameters.First();
|
var startInfo = parameters.First();
|
||||||
var exe = (string) startInfo.GetChild ("FileName", evalOptions).GetRawValue (evalOptions);
|
var exe = (string) startInfo.GetChild ("file_name", evalOptions).GetRawValue (evalOptions);
|
||||||
|
|
||||||
// The process being launched is a mono process if the target file is a .exe or .dll, or if the launcher is mono.
|
// The process being launched is a mono process if the target file is a .exe or .dll, or if the launcher is mono.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ namespace Mono.Debugging.Soft
|
||||||
{
|
{
|
||||||
// Get the exe and arguments from the start info and store them
|
// Get the exe and arguments from the start info and store them
|
||||||
this.arguments = (string)startInfo.GetChild ("Arguments", ops).GetRawValue (ops);
|
this.arguments = (string)startInfo.GetChild ("Arguments", ops).GetRawValue (ops);
|
||||||
this.exe = (string)startInfo.GetChild ("FileName", ops).GetRawValue (ops);
|
this.exe = (string)startInfo.GetChild ("file_name", ops).GetRawValue (ops);
|
||||||
|
|
||||||
// Create the new session and custom start arguments.
|
// Create the new session and custom start arguments.
|
||||||
// The actual arguments don't matter much since we'll use a custom launcher for the process.
|
// The actual arguments don't matter much since we'll use a custom launcher for the process.
|
||||||
|
|
@ -124,7 +124,7 @@ namespace Mono.Debugging.Soft
|
||||||
startInfo.GetChild ("Arguments", ops).SetRawValue (debuggerArgs + " " + arguments, ops);
|
startInfo.GetChild ("Arguments", ops).SetRawValue (debuggerArgs + " " + arguments, ops);
|
||||||
} else {
|
} else {
|
||||||
startInfo.GetChild ("Arguments", ops).SetRawValue (debuggerStartInfo.Arguments, ops);
|
startInfo.GetChild ("Arguments", ops).SetRawValue (debuggerStartInfo.Arguments, ops);
|
||||||
startInfo.GetChild ("FileName", ops).SetRawValue (debuggerStartInfo.FileName, ops);
|
startInfo.GetChild ("file_name", ops).SetRawValue (debuggerStartInfo.FileName, ops);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -165,7 +165,7 @@ namespace Mono.Debugging.Soft
|
||||||
|
|
||||||
// Assign the original exe and arguments to the start info object
|
// Assign the original exe and arguments to the start info object
|
||||||
startInfo.GetChild ("Arguments", ctx.Options).SetRawValue (arguments, ctx.Options);
|
startInfo.GetChild ("Arguments", ctx.Options).SetRawValue (arguments, ctx.Options);
|
||||||
startInfo.GetChild ("FileName", ctx.Options).SetRawValue (exe, ctx.Options);
|
startInfo.GetChild ("file_name", ctx.Options).SetRawValue (exe, ctx.Options);
|
||||||
|
|
||||||
// Signal TargetProcessLauncher that the process has started and the process ID is available.
|
// Signal TargetProcessLauncher that the process has started and the process ID is available.
|
||||||
startedEvent.Set ();
|
startedEvent.Set ();
|
||||||
|
|
|
||||||
|
|
@ -224,7 +224,7 @@ namespace VisualPascalABC
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
this.tbAppIcon.Text = Path.GetFileName(openFileDialog1.FileName);//PascalABCCompiler.Tools.RelativePathTo(ProjectFactory.Instance.CurrentProject.ProjectDirectory, openFileDialog1.FileName);
|
this.tbAppIcon.Text = Path.GetFileName(openFileDialog1.FileName);//PascalABCCompiler.Tools.RelativePathTo(ProjectFactory.Instance.CurrentProject.ProjectDirectory, openFileDialog1.file_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -69,13 +69,13 @@ namespace VisualPascalABC
|
||||||
if (Path.GetDirectoryName(CompilerOptions1.SourceFileName).ToLower() == ((string)WorkbenchStorage.StandartDirectories[Constants.LibSourceDirectoryIdent]).ToLower())
|
if (Path.GetDirectoryName(CompilerOptions1.SourceFileName).ToLower() == ((string)WorkbenchStorage.StandartDirectories[Constants.LibSourceDirectoryIdent]).ToLower())
|
||||||
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = false;
|
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = false;
|
||||||
if (RuntimeServicesModule != null)
|
if (RuntimeServicesModule != null)
|
||||||
CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandardModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
||||||
|
|
||||||
string ofn = Workbench.VisualEnvironmentCompiler.Compile(CompilerOptions1);
|
string ofn = Workbench.VisualEnvironmentCompiler.Compile(CompilerOptions1);
|
||||||
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = savePCU;
|
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = savePCU;
|
||||||
|
|
||||||
if (RuntimeServicesModule != null)
|
if (RuntimeServicesModule != null)
|
||||||
CompilerOptions1.RemoveStandartModuleAtIndex(CompilerOptions1.StandartModules.Count - 1);
|
CompilerOptions1.RemoveStandardModuleAtIndex(CompilerOptions1.StandardModules.Count - 1);
|
||||||
|
|
||||||
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
||||||
{
|
{
|
||||||
|
|
@ -109,9 +109,9 @@ namespace VisualPascalABC
|
||||||
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
||||||
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
||||||
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
||||||
// CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
// CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
||||||
if (RuntimeServicesModule != null)
|
if (RuntimeServicesModule != null)
|
||||||
CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandardModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
||||||
|
|
||||||
ErrorsList.Clear();
|
ErrorsList.Clear();
|
||||||
|
|
||||||
|
|
@ -126,7 +126,7 @@ namespace VisualPascalABC
|
||||||
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = savePCU;
|
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = savePCU;
|
||||||
|
|
||||||
if (RuntimeServicesModule != null)
|
if (RuntimeServicesModule != null)
|
||||||
CompilerOptions1.RemoveStandartModuleAtIndex(CompilerOptions1.StandartModules.Count - 1);
|
CompilerOptions1.RemoveStandardModuleAtIndex(CompilerOptions1.StandardModules.Count - 1);
|
||||||
//MessageBox.Show(Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count.ToString());
|
//MessageBox.Show(Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count.ToString());
|
||||||
|
|
||||||
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
||||||
|
|
@ -160,16 +160,16 @@ namespace VisualPascalABC
|
||||||
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
||||||
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
||||||
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
||||||
// CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
// CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
||||||
if (__RuntimeServicesModule != null)
|
if (__RuntimeServicesModule != null)
|
||||||
CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandardModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
||||||
|
|
||||||
|
|
||||||
ErrorsList.Clear();
|
ErrorsList.Clear();
|
||||||
|
|
||||||
//CompilerOptions1.SavePCUInThreadPull = true;
|
//CompilerOptions1.SavePCUInThreadPull = true;
|
||||||
__savePCU = Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate;
|
__savePCU = Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate;
|
||||||
//if (Path.GetDirectoryName(FileName).ToLower() == ((string)StandartDirectories[Constants.LibSourceDirectoryIdent]).ToLower())
|
//if (Path.GetDirectoryName(file_name).ToLower() == ((string)StandartDirectories[Constants.LibSourceDirectoryIdent]).ToLower())
|
||||||
// VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = false;
|
// VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = false;
|
||||||
|
|
||||||
Workbench.VisualEnvironmentCompiler.Compiler.OnChangeCompilerState += CompilationOnChangeCompilerState;
|
Workbench.VisualEnvironmentCompiler.Compiler.OnChangeCompilerState += CompilationOnChangeCompilerState;
|
||||||
|
|
@ -196,9 +196,9 @@ namespace VisualPascalABC
|
||||||
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
CompilerOptions1.RunWithEnvironment = RunWithEnvironment;
|
||||||
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
//string runtimeModuleFileName = CompilerOptions1.SearchDirectory + "\\" + RuntimeServicesModule;
|
||||||
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
//if (RuntimeServicesModule!=null && File.Exists(runtimeModuleFileName))
|
||||||
// CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
// CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(runtimeModuleFileName, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain));
|
||||||
if (__RuntimeServicesModule != null)
|
if (__RuntimeServicesModule != null)
|
||||||
CompilerOptions1.StandartModules.Add(new PascalABCCompiler.CompilerOptions.StandartModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandartModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
CompilerOptions1.StandardModules.Add(new PascalABCCompiler.CompilerOptions.StandardModule(RuntimeServicesModule, PascalABCCompiler.CompilerOptions.StandardModuleAddMethod.RightToMain, PascalABCCompiler.SyntaxTree.LanguageId.C | PascalABCCompiler.SyntaxTree.LanguageId.PascalABCNET | PascalABCCompiler.SyntaxTree.LanguageId.CommonLanguage));
|
||||||
|
|
||||||
|
|
||||||
ErrorsList.Clear();
|
ErrorsList.Clear();
|
||||||
|
|
@ -268,7 +268,7 @@ namespace VisualPascalABC
|
||||||
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = __savePCU;
|
Workbench.VisualEnvironmentCompiler.Compiler.InternalDebug.PCUGenerate = __savePCU;
|
||||||
|
|
||||||
if (__RuntimeServicesModule != null)
|
if (__RuntimeServicesModule != null)
|
||||||
CompilerOptions1.RemoveStandartModuleAtIndex(CompilerOptions1.StandartModules.Count - 1);
|
CompilerOptions1.RemoveStandardModuleAtIndex(CompilerOptions1.StandardModules.Count - 1);
|
||||||
|
|
||||||
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
if (Workbench.VisualEnvironmentCompiler.Compiler.ErrorsList.Count != 0 || Workbench.VisualEnvironmentCompiler.Compiler.Warnings.Count != 0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ namespace VisualPascalABC
|
||||||
|
|
||||||
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
|
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
|
||||||
{
|
{
|
||||||
//ReplaceLastFile(CurrentSourceFileName, saveFileDialog1.FileName);
|
//ReplaceLastFile(CurrentSourceFileName, saveFileDialog1.file_name);
|
||||||
string fn = Tools.FileNameToLower(saveFileDialog1.FileName);
|
string fn = Tools.FileNameToLower(saveFileDialog1.FileName);
|
||||||
if (OpenDocuments.ContainsKey(fn) && OpenDocuments[fn] != CurrentCodeFileDocument)
|
if (OpenDocuments.ContainsKey(fn) && OpenDocuments[fn] != CurrentCodeFileDocument)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ namespace VisualPascalABC
|
||||||
{
|
{
|
||||||
if (Path.GetExtension(FileName) == ".pas")
|
if (Path.GetExtension(FileName) == ".pas")
|
||||||
{
|
{
|
||||||
/*string XMLFile = Path.ChangeExtension(FileName, string_consts.xml_form_extention);
|
/*string XMLFile = Path.ChangeExtension(file_name, string_consts.xml_form_extention);
|
||||||
if (File.Exists(XMLFile))
|
if (File.Exists(XMLFile))
|
||||||
{
|
{
|
||||||
if (not_open_designer)
|
if (not_open_designer)
|
||||||
|
|
@ -164,7 +164,7 @@ namespace VisualPascalABC
|
||||||
visualStates.FileOpened = true;//?????
|
visualStates.FileOpened = true;//?????
|
||||||
if (!IsNewFile && !File.Exists(FileName))
|
if (!IsNewFile && !File.Exists(FileName))
|
||||||
{
|
{
|
||||||
//MessageBox.Show(string.Format(PascalABCCompiler.StringResources.Get("!FILE_NOT_FOUND{0}"), FileName), PascalABCCompiler.StringResources.Get("!ERROR"), MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
//MessageBox.Show(string.Format(PascalABCCompiler.StringResources.Get("!FILE_NOT_FOUND{0}"), file_name), PascalABCCompiler.StringResources.Get("!ERROR"), MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
bool exists = false;
|
bool exists = false;
|
||||||
foreach (string s in search_debug_paths)
|
foreach (string s in search_debug_paths)
|
||||||
{
|
{
|
||||||
|
|
@ -205,7 +205,7 @@ namespace VisualPascalABC
|
||||||
else
|
else
|
||||||
if (!IsNewFile)
|
if (!IsNewFile)
|
||||||
{
|
{
|
||||||
//CheckErrorListAndClear((tabControl1.TabPages[TabIndex].ag as CodeFileDocumentControl).FileName);
|
//CheckErrorListAndClear((tabControl1.TabPages[TabIndex].ag as CodeFileDocumentControl).file_name);
|
||||||
CurrentCodeFileDocument.FileName = FileName;
|
CurrentCodeFileDocument.FileName = FileName;
|
||||||
if (!ProjectFactory.Instance.ProjectLoaded)
|
if (!ProjectFactory.Instance.ProjectLoaded)
|
||||||
SetTabPageText(CurrentCodeFileDocument);
|
SetTabPageText(CurrentCodeFileDocument);
|
||||||
|
|
@ -397,7 +397,7 @@ namespace VisualPascalABC
|
||||||
OpenDocuments.Remove(Tools.FileNameToLower(dt.FileName));
|
OpenDocuments.Remove(Tools.FileNameToLower(dt.FileName));
|
||||||
OpenDocuments.Add(Tools.FileNameToLower(FileName), TbPage);
|
OpenDocuments.Add(Tools.FileNameToLower(FileName), TbPage);
|
||||||
WorkbenchServiceFactory.CodeCompletionParserController.RenameFile(dt.FileName, FileName);
|
WorkbenchServiceFactory.CodeCompletionParserController.RenameFile(dt.FileName, FileName);
|
||||||
//TbPage.SaveFormFile(FileName);
|
//TbPage.SaveFormFile(file_name);
|
||||||
dt.DocumentChanged = false;
|
dt.DocumentChanged = false;
|
||||||
dt.FileName = FileName;
|
dt.FileName = FileName;
|
||||||
dt.DocumentSavedToDisk = true;
|
dt.DocumentSavedToDisk = true;
|
||||||
|
|
@ -590,7 +590,7 @@ namespace VisualPascalABC
|
||||||
|
|
||||||
internal bool IsForm(string FileName)
|
internal bool IsForm(string FileName)
|
||||||
{
|
{
|
||||||
//string XMLFile = Path.ChangeExtension(FileName, string_consts.xml_form_extention);
|
//string XMLFile = Path.ChangeExtension(file_name, string_consts.xml_form_extention);
|
||||||
// return File.Exists(XMLFile);
|
// return File.Exists(XMLFile);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -465,8 +465,8 @@ namespace VisualPascalABC
|
||||||
clicked_stop_debug_in_menu = false;
|
clicked_stop_debug_in_menu = false;
|
||||||
this.mDEBUGENDToolStripMenuItem.Enabled = false;
|
this.mDEBUGENDToolStripMenuItem.Enabled = false;
|
||||||
//Data fileInfo = debuggedPage.ag as CodeFileDocumentControl;
|
//Data fileInfo = debuggedPage.ag as CodeFileDocumentControl;
|
||||||
//debuggedPage.Text = Path.GetFileName(fileInfo.FileName);
|
//debuggedPage.Text = Path.GetFileName(fileInfo.file_name);
|
||||||
//debuggedPage.ToolTipText = fileInfo.FileName;
|
//debuggedPage.ToolTipText = fileInfo.file_name;
|
||||||
SetTabPageText(debuggedPage);
|
SetTabPageText(debuggedPage);
|
||||||
ChangeDebugButtons(false);
|
ChangeDebugButtons(false);
|
||||||
SaveDebugContext();
|
SaveDebugContext();
|
||||||
|
|
|
||||||
|
|
@ -257,7 +257,7 @@ namespace VisualPascalABC
|
||||||
SetTabPageText(edit);
|
SetTabPageText(edit);
|
||||||
edit.SetHighlightingStrategyForFile(FileName);
|
edit.SetHighlightingStrategyForFile(FileName);
|
||||||
OpenDocuments.Add(Tools.FileNameToLower(FileName), edit);
|
OpenDocuments.Add(Tools.FileNameToLower(FileName), edit);
|
||||||
//this.codeCompletionParserController.SetAsChanged(FileName);
|
//this.codeCompletionParserController.SetAsChanged(file_name);
|
||||||
//ivan
|
//ivan
|
||||||
AddBreakPointHandler(edit, FileName);
|
AddBreakPointHandler(edit, FileName);
|
||||||
var RunService = WorkbenchServiceFactory.RunService;
|
var RunService = WorkbenchServiceFactory.RunService;
|
||||||
|
|
@ -483,7 +483,7 @@ namespace VisualPascalABC
|
||||||
AddEditorHandlers(edit);
|
AddEditorHandlers(edit);
|
||||||
}
|
}
|
||||||
WorkbenchServiceFactory.CodeCompletionParserController.RegisterFileForParsing(tabName + ".pas");
|
WorkbenchServiceFactory.CodeCompletionParserController.RegisterFileForParsing(tabName + ".pas");
|
||||||
//edit.FileName = FileName;
|
//edit.file_name = file_name;
|
||||||
//SetTabPageText(edit);
|
//SetTabPageText(edit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -573,7 +573,7 @@ namespace VisualPascalABC
|
||||||
|
|
||||||
public void AddTextToOutputWindowSync(string fileName, string text)
|
public void AddTextToOutputWindowSync(string fileName, string text)
|
||||||
{
|
{
|
||||||
//BeginInvoke(new SetFileNameAndTextDelegate(AddTextToOutputWindow), fileName, text);
|
//BeginInvoke(new SetFileNameAndTextDelegate(AddTextToOutputWindow), file_name, text);
|
||||||
Invoke(new SetFileNameAndTextDelegate(AddTextToOutputWindow), fileName, text);
|
Invoke(new SetFileNameAndTextDelegate(AddTextToOutputWindow), fileName, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -206,7 +206,7 @@ namespace VisualPascalABCPlugins
|
||||||
string FileText = (string)VisualEnvironmentCompiler.Compiler.SourceFilesProvider(FileName, PascalABCCompiler.SourceFileOperation.GetText);
|
string FileText = (string)VisualEnvironmentCompiler.Compiler.SourceFilesProvider(FileName, PascalABCCompiler.SourceFileOperation.GetText);
|
||||||
List<Error> Errors=new List<Error>();
|
List<Error> Errors=new List<Error>();
|
||||||
List<CompilerWarning> Warnings = new List<CompilerWarning>();
|
List<CompilerWarning> Warnings = new List<CompilerWarning>();
|
||||||
//PascalABCCompiler.SyntaxTree.syntax_tree_node sn = VisualEnvironmentCompiler.Compiler.ParsersController.Compile(FileName, FileText, Errors, PascalABCCompiler.ParserTools.ParseMode.Expression);
|
//PascalABCCompiler.SyntaxTree.syntax_tree_node sn = VisualEnvironmentCompiler.Compiler.ParsersController.Compile(file_name, FileText, Errors, PascalABCCompiler.ParserTools.ParseMode.Expression);
|
||||||
PascalABCCompiler.SyntaxTree.syntax_tree_node sn = VisualEnvironmentCompiler.StandartCompiler.ParsersController.GetExpression(FileName, FileText, Errors, Warnings);
|
PascalABCCompiler.SyntaxTree.syntax_tree_node sn = VisualEnvironmentCompiler.StandartCompiler.ParsersController.GetExpression(FileName, FileText, Errors, Warnings);
|
||||||
if (Errors.Count > 0)
|
if (Errors.Count > 0)
|
||||||
StatusLabel.Text = Errors.Count + " errors";
|
StatusLabel.Text = Errors.Count + " errors";
|
||||||
|
|
|
||||||
6
bin/GPPG.dll.config
Normal file
6
bin/GPPG.dll.config
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||||
|
</startup>
|
||||||
|
</configuration>
|
||||||
6
bin/ShiftReduceParser.dll.config
Normal file
6
bin/ShiftReduceParser.dll.config
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||||
|
</startup>
|
||||||
|
</configuration>
|
||||||
|
|
@ -67,7 +67,7 @@ namespace PascalABCCompiler
|
||||||
return text;
|
return text;
|
||||||
if (!File.Exists(FileName))
|
if (!File.Exists(FileName))
|
||||||
return null;
|
return null;
|
||||||
/*TextReader tr = new StreamReader(FileName, System.Text.Encoding.GetEncoding(1251));
|
/*TextReader tr = new StreamReader(file_name, System.Text.Encoding.GetEncoding(1251));
|
||||||
text = tr.ReadToEnd();
|
text = tr.ReadToEnd();
|
||||||
tr.Close();*/
|
tr.Close();*/
|
||||||
text = PascalABCCompiler.FileReader.ReadFileContent(FileName, null);
|
text = PascalABCCompiler.FileReader.ReadFileContent(FileName, null);
|
||||||
|
|
@ -267,13 +267,13 @@ namespace PascalABCCompiler
|
||||||
sendWorkingSet();
|
sendWorkingSet();
|
||||||
break;
|
break;
|
||||||
case ConsoleCompilerConstants.CompilerOptionsClearStandartModules:
|
case ConsoleCompilerConstants.CompilerOptionsClearStandartModules:
|
||||||
compiler.CompilerOptions.StandartModules.Clear();
|
compiler.CompilerOptions.StandardModules.Clear();
|
||||||
break;
|
break;
|
||||||
case ConsoleCompilerConstants.CompilerOptionsStandartModule:
|
case ConsoleCompilerConstants.CompilerOptionsStandartModule:
|
||||||
CompilerOptions.StandartModule sm = new CompilerOptions.StandartModule(args[0],
|
CompilerOptions.StandardModule sm = new CompilerOptions.StandardModule(args[0],
|
||||||
(CompilerOptions.StandartModuleAddMethod)Convert.ToInt32(args[1]),
|
(CompilerOptions.StandardModuleAddMethod)Convert.ToInt32(args[1]),
|
||||||
(PascalABCCompiler.SyntaxTree.LanguageId)Convert.ToInt32(args[2]));
|
(PascalABCCompiler.SyntaxTree.LanguageId)Convert.ToInt32(args[2]));
|
||||||
compiler.CompilerOptions.StandartModules.Add(sm);
|
compiler.CompilerOptions.StandardModules.Add(sm);
|
||||||
break;
|
break;
|
||||||
case ConsoleCompilerConstants.InternalDebug:
|
case ConsoleCompilerConstants.InternalDebug:
|
||||||
compiler.InternalDebug = (CompilerInternalDebug)ReadObject();
|
compiler.InternalDebug = (CompilerInternalDebug)ReadObject();
|
||||||
|
|
|
||||||
|
|
@ -347,7 +347,7 @@ namespace PascalABCCompiler
|
||||||
FileName = string.Format("[{0}]{1} {2}...", Math.Round((DateTime.Now - StartTime).TotalMilliseconds), State, System.IO.Path.GetFileName(FileName));
|
FileName = string.Format("[{0}]{1} {2}...", Math.Round((DateTime.Now - StartTime).TotalMilliseconds), State, System.IO.Path.GetFileName(FileName));
|
||||||
StartTime = DateTime.Now;
|
StartTime = DateTime.Now;
|
||||||
Console.WriteLine(FileName);
|
Console.WriteLine(FileName);
|
||||||
//Console.Title = FileName;
|
//Console.Title = file_name;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ namespace PascalABCCompiler
|
||||||
return text;
|
return text;
|
||||||
if (!File.Exists(FileName))
|
if (!File.Exists(FileName))
|
||||||
return null;
|
return null;
|
||||||
/*TextReader tr = new StreamReader(FileName, System.Text.Encoding.GetEncoding(1251));
|
/*TextReader tr = new StreamReader(file_name, System.Text.Encoding.GetEncoding(1251));
|
||||||
text = tr.ReadToEnd();
|
text = tr.ReadToEnd();
|
||||||
tr.Close();*/
|
tr.Close();*/
|
||||||
text = PascalABCCompiler.FileReader.ReadFileContent(FileName, null);
|
text = PascalABCCompiler.FileReader.ReadFileContent(FileName, null);
|
||||||
|
|
@ -245,13 +245,13 @@ namespace PascalABCCompiler
|
||||||
sendWorkingSet();
|
sendWorkingSet();
|
||||||
break;
|
break;
|
||||||
case ConsoleCompilerConstants.CompilerOptionsClearStandartModules:
|
case ConsoleCompilerConstants.CompilerOptionsClearStandartModules:
|
||||||
compiler.CompilerOptions.StandartModules.Clear();
|
compiler.CompilerOptions.StandardModules.Clear();
|
||||||
break;
|
break;
|
||||||
case ConsoleCompilerConstants.CompilerOptionsStandartModule:
|
case ConsoleCompilerConstants.CompilerOptionsStandartModule:
|
||||||
CompilerOptions.StandartModule sm = new CompilerOptions.StandartModule(args[0],
|
CompilerOptions.StandardModule sm = new CompilerOptions.StandardModule(args[0],
|
||||||
(CompilerOptions.StandartModuleAddMethod)Convert.ToInt32(args[1]),
|
(CompilerOptions.StandardModuleAddMethod)Convert.ToInt32(args[1]),
|
||||||
(PascalABCCompiler.SyntaxTree.LanguageId)Convert.ToInt32(args[2]));
|
(PascalABCCompiler.SyntaxTree.LanguageId)Convert.ToInt32(args[2]));
|
||||||
compiler.CompilerOptions.StandartModules.Add(sm);
|
compiler.CompilerOptions.StandardModules.Add(sm);
|
||||||
break;
|
break;
|
||||||
case ConsoleCompilerConstants.InternalDebug:
|
case ConsoleCompilerConstants.InternalDebug:
|
||||||
compiler.InternalDebug = (CompilerInternalDebug)ReadObject();
|
compiler.InternalDebug = (CompilerInternalDebug)ReadObject();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue