Unit compiler namespaces

This commit is contained in:
Michael Schimmel
2025-11-05 21:50:36 +01:00
parent 5003cfd899
commit 6851f745d4
11 changed files with 24 additions and 23 deletions
File diff suppressed because one or more lines are too long
+5 -5
View File
@@ -11,7 +11,6 @@ uses
Myc.Data.Value in 'Myc.Data.Value.pas', Myc.Data.Value in 'Myc.Data.Value.pas',
Myc.Ast.Debugger in '..\Src\AST\Myc.Ast.Debugger.pas', Myc.Ast.Debugger in '..\Src\AST\Myc.Ast.Debugger.pas',
Myc.Ast.Visitor in '..\Src\AST\Myc.Ast.Visitor.pas', Myc.Ast.Visitor in '..\Src\AST\Myc.Ast.Visitor.pas',
Myc.Ast.Binding in '..\Src\AST\Myc.Ast.Binding.pas',
Myc.Ast.RTL in '..\Src\AST\Myc.Ast.RTL.pas', Myc.Ast.RTL in '..\Src\AST\Myc.Ast.RTL.pas',
Myc.Ast.Dumper in '..\Src\AST\Myc.Ast.Dumper.pas', Myc.Ast.Dumper in '..\Src\AST\Myc.Ast.Dumper.pas',
Myc.Ast.RTL.Core in '..\Src\AST\Myc.Ast.RTL.Core.pas', Myc.Ast.RTL.Core in '..\Src\AST\Myc.Ast.RTL.Core.pas',
@@ -22,10 +21,11 @@ uses
Myc.Ast.Script in '..\Src\AST\Myc.Ast.Script.pas', Myc.Ast.Script in '..\Src\AST\Myc.Ast.Script.pas',
Myc.Ast.Types in '..\Src\AST\Myc.Ast.Types.pas', Myc.Ast.Types in '..\Src\AST\Myc.Ast.Types.pas',
Myc.Data.Keyword in '..\Src\Data\Myc.Data.Keyword.pas', Myc.Data.Keyword in '..\Src\Data\Myc.Data.Keyword.pas',
Myc.Ast.MacroExpander in '..\Src\AST\Myc.Ast.MacroExpander.pas', Myc.Ast.Compiler.TCO in '..\Src\AST\Myc.Ast.Compiler.TCO.pas',
Myc.Ast.TypeChecker in '..\Src\AST\Myc.Ast.TypeChecker.pas', Myc.Ast.Compiler.Binder in '..\Src\AST\Myc.Ast.Compiler.Binder.pas',
Myc.Ast.Lowering in '..\Src\AST\Myc.Ast.Lowering.pas', Myc.Ast.Compiler.Lowering in '..\Src\AST\Myc.Ast.Compiler.Lowering.pas',
Myc.Ast.Compiler.TCO in '..\Src\AST\Myc.Ast.Compiler.TCO.pas'; Myc.Ast.Compiler.TypeChecker in '..\Src\AST\Myc.Ast.Compiler.TypeChecker.pas',
Myc.Ast.Compiler.Macros in '..\Src\AST\Myc.Ast.Compiler.Macros.pas';
{$R *.res} {$R *.res}
+4 -4
View File
@@ -141,7 +141,6 @@
<DCCReference Include="Myc.Data.Value.pas"/> <DCCReference Include="Myc.Data.Value.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Debugger.pas"/> <DCCReference Include="..\Src\AST\Myc.Ast.Debugger.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Visitor.pas"/> <DCCReference Include="..\Src\AST\Myc.Ast.Visitor.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Binding.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.RTL.pas"/> <DCCReference Include="..\Src\AST\Myc.Ast.RTL.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Dumper.pas"/> <DCCReference Include="..\Src\AST\Myc.Ast.Dumper.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.RTL.Core.pas"/> <DCCReference Include="..\Src\AST\Myc.Ast.RTL.Core.pas"/>
@@ -152,10 +151,11 @@
<DCCReference Include="..\Src\AST\Myc.Ast.Script.pas"/> <DCCReference Include="..\Src\AST\Myc.Ast.Script.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Types.pas"/> <DCCReference Include="..\Src\AST\Myc.Ast.Types.pas"/>
<DCCReference Include="..\Src\Data\Myc.Data.Keyword.pas"/> <DCCReference Include="..\Src\Data\Myc.Data.Keyword.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.MacroExpander.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.TypeChecker.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Lowering.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Compiler.TCO.pas"/> <DCCReference Include="..\Src\AST\Myc.Ast.Compiler.TCO.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Compiler.Binder.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Compiler.Lowering.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Compiler.TypeChecker.pas"/>
<DCCReference Include="..\Src\AST\Myc.Ast.Compiler.Macros.pas"/>
<BuildConfiguration Include="Base"> <BuildConfiguration Include="Base">
<Key>Base</Key> <Key>Base</Key>
</BuildConfiguration> </BuildConfiguration>
+4 -4
View File
@@ -31,7 +31,6 @@ uses
Myc.Ast.Evaluator, Myc.Ast.Evaluator,
Myc.Ast.Dumper, Myc.Ast.Dumper,
Myc.Data.Decimal, Myc.Data.Decimal,
Myc.Ast.Binding,
Myc.Ast.RTL, Myc.Ast.RTL,
Myc.Ast.Script, Myc.Ast.Script,
FMX.Layouts, FMX.Layouts,
@@ -39,9 +38,10 @@ uses
Myc.Ast.Debugger, Myc.Ast.Debugger,
Myc.Fmx.AstEditor.Node, Myc.Fmx.AstEditor.Node,
Myc.Fmx.AstEditor.Workspace, Myc.Fmx.AstEditor.Workspace,
Myc.Ast.MacroExpander, Myc.Ast.Compiler.Macros,
Myc.Ast.TypeChecker, Myc.Ast.Compiler.Binder,
Myc.Ast.Lowering, Myc.Ast.Compiler.TypeChecker,
Myc.Ast.Compiler.Lowering,
Myc.Ast.Compiler.TCO, Myc.Ast.Compiler.TCO,
FMX.DialogService, FMX.DialogService,
FMX.ListView.Types, FMX.ListView.Types,
@@ -16,7 +16,7 @@ uses
Myc.Ast, Myc.Ast,
Myc.Ast.Nodes, Myc.Ast.Nodes,
Myc.Ast.Scope, Myc.Ast.Scope,
Myc.Ast.Binding; Myc.Ast.Compiler.Binder;
const const
cDataPinColor = TAlphaColors.Dodgerblue; cDataPinColor = TAlphaColors.Dodgerblue;
@@ -1,4 +1,4 @@
unit Myc.Ast.Analyzer; unit Myc.Ast.Compiler.Binder.Upvalues;
interface interface
@@ -1,4 +1,4 @@
unit Myc.Ast.Binding; unit Myc.Ast.Compiler.Binder;
interface interface
@@ -11,7 +11,7 @@ uses
Myc.Ast.Nodes, Myc.Ast.Nodes,
Myc.Ast.Visitor, Myc.Ast.Visitor,
Myc.Ast.Scope, Myc.Ast.Scope,
Myc.Ast.Analyzer, Myc.Ast.Compiler.Binder.Upvalues,
Myc.Ast; Myc.Ast;
type type
@@ -1,4 +1,4 @@
unit Myc.Ast.Lowering; unit Myc.Ast.Compiler.Lowering;
interface interface
@@ -95,6 +95,7 @@ begin
if Node.Callee.Kind = akIdentifier then if Node.Callee.Kind = akIdentifier then
begin begin
calleeIdentifier := Node.Callee.AsIdentifier; calleeIdentifier := Node.Callee.AsIdentifier;
nodeType := Node.StaticType;
if (Length(Node.Arguments) = 2) then if (Length(Node.Arguments) = 2) then
begin begin
@@ -1,4 +1,4 @@
unit Myc.Ast.MacroExpander; unit Myc.Ast.Compiler.Macros;
interface interface
@@ -100,7 +100,7 @@ implementation
uses uses
System.Generics.Defaults, System.Generics.Defaults,
Myc.Ast.Binding, // Required for TAstBinder.Bind Myc.Ast.Compiler.Binder,
Myc.Ast.Evaluator, // Required for TEvaluatorVisitor.Execute Myc.Ast.Evaluator, // Required for TEvaluatorVisitor.Execute
Myc.Data.Keyword; Myc.Data.Keyword;
@@ -1,4 +1,4 @@
unit Myc.Ast.TypeChecker; unit Myc.Ast.Compiler.TypeChecker;
interface interface
+1 -1
View File
@@ -301,7 +301,7 @@ type
constructor Create(const AValue: IKeyword); constructor Create(const AValue: IKeyword);
function Accept(const Visitor: IAstVisitor): TDataValue; override; function Accept(const Visitor: IAstVisitor): TDataValue; override;
function AsKeyword: IKeywordNode; override; function AsKeyword: IKeywordNode; override;
property Value: IKeyword read FValue; // Value ist immutable property Value: IKeyword read FValue;
end; end;
TMacroDefinitionNode = class(TAstNode, IMacroDefinitionNode) TMacroDefinitionNode = class(TAstNode, IMacroDefinitionNode)