commit 0e549b6e0a943de51ec80a7d726000f16f5498dd Author: Martin Date: Sat Oct 11 23:42:21 2025 +0200 Initial diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..6107882 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,25 @@ +{ + "version": "0.2.0", + "configurations": [ + + { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "${workspaceFolder}/bin/Debug/net8.0/Compiler.dll", + "args": [ + "input.st", + "out.bin" + ], + "cwd": "${workspaceFolder}", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach" + } + ] +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..371bfde --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,43 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/Compiler.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "publish", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "${workspaceFolder}/Compiler.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "watch", + "command": "dotnet", + "type": "process", + "args": [ + "watch", + "run", + "--project", + "${workspaceFolder}/Compiler.csproj", + "input.st", + "out.bin" + ], + "problemMatcher": "$msCompile" + } + ] +} diff --git a/Compiler.csproj b/Compiler.csproj new file mode 100644 index 0000000..2150e37 --- /dev/null +++ b/Compiler.csproj @@ -0,0 +1,10 @@ + + + + Exe + net8.0 + enable + enable + + + diff --git a/Compiler.sln b/Compiler.sln new file mode 100644 index 0000000..d4f6a21 --- /dev/null +++ b/Compiler.sln @@ -0,0 +1,24 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.2.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compiler", "Compiler.csproj", "{CBEA9558-E4AD-DA70-5319-E69E934D0501}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CBEA9558-E4AD-DA70-5319-E69E934D0501}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CBEA9558-E4AD-DA70-5319-E69E934D0501}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CBEA9558-E4AD-DA70-5319-E69E934D0501}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CBEA9558-E4AD-DA70-5319-E69E934D0501}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {27C531AE-201E-4E9C-9ACC-BDCA8ADD46DC} + EndGlobalSection +EndGlobal diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..ff2ad51 --- /dev/null +++ b/Program.cs @@ -0,0 +1,201 @@ +using System; +using System.IO; +using System.Text; +using System.Collections.Generic; + +class Program { + static int Main(string[] args) { + if (args.Length < 2) { + Console.WriteLine("Usage: StEmitter "); + return 1; + } + + var input = File.ReadAllText(args[0]); + var parser = new StParser(input); + var prog = parser.ParseProgram(); + var emitter = new BytecodeEmitter(); + emitter.Compile(prog); + File.WriteAllBytes(args[1], emitter.BuildBinary()); + Console.WriteLine($"Wrote {args[1]}: consts={emitter.ConstantsCount}, vars={emitter.VarCount}, code={emitter.CodeLength}"); + return 0; + } +} + +// === AST & TYPES === +public enum VarType { Int8=1, Int16=2, Int32=3, Byte=4, Bool=5 } +public abstract class StNode{} +public class ProgramNode:StNode{ public List Vars=new(); public List Stmts=new(); } +public class VarDecl:StNode{ public string Name; public VarType Type; public Expr? Init; } +public abstract class Stmt:StNode{} +public class AssignStmt:Stmt{ public string Target; public Expr Expr; } +public abstract class Expr:StNode{} +public class IntExpr:Expr{ public int Value; public IntExpr(int v){Value=v;} } +public class VarExpr:Expr{ public string Name; public VarExpr(string n){Name=n;} } +public class BinaryExpr:Expr{ public Expr L; public Expr R; public TokType Op; public BinaryExpr(Expr l,TokType op,Expr r){L=l;Op=op;R=r;} } + +// === LEXER === +public enum TokType { IDENT, INT, ASSIGN, SEMI, LPAREN, RPAREN, PLUS, MINUS, MUL, DIV, PROGRAM, VAR, END_VAR, END_PROGRAM, EOF } +public class Token { public TokType Type; public string Text; public Token(TokType t,string s){Type=t;Text=s;} } +public class StLexer { + private readonly string src; private int i; + public StLexer(string s){src=s;} + char Peek()=> i inew Token(TokType.LPAREN,"("), + ')'=>new Token(TokType.RPAREN,")"), + '+'=>new Token(TokType.PLUS,"+"), + '-'=>new Token(TokType.MINUS,"-"), + '*'=>new Token(TokType.MUL,"*"), + '/'=>new Token(TokType.DIV,"/"), + _=>throw new Exception($"Unexpected char '{c}'") + }; + } +} + +// === PARSER === +public class StParser { + StLexer lex; Token cur; + public StParser(string s){lex=new StLexer(s);cur=lex.NextToken();} + void Next()=>cur=lex.NextToken(); + void Expect(TokType t){if(cur.Type!=t)throw new Exception($"Expected {t}, got {cur.Type}");Next();} + public ProgramNode ParseProgram(){ + var p=new ProgramNode(); + Expect(TokType.PROGRAM); + if(cur.Type==TokType.IDENT) Next(); + if(cur.Type==TokType.VAR){ + Next(); + while(cur.Type==TokType.IDENT) p.Vars.Add(ParseVarDecl()); + Expect(TokType.END_VAR); + } + while(cur.Type!=TokType.END_PROGRAM&&cur.Type!=TokType.EOF) + p.Stmts.Add(ParseStmt()); + Expect(TokType.END_PROGRAM); + return p; + } + VarDecl ParseVarDecl(){ + string name=cur.Text; Expect(TokType.IDENT); + string tname=cur.Text.ToLowerInvariant(); Expect(TokType.IDENT); + VarType vt=tname switch { + "int8"=>VarType.Int8,"int16"=>VarType.Int16,"int32"=>VarType.Int32, + "byte"=>VarType.Byte,"bool"=>VarType.Bool,_=>throw new Exception($"Unknown type {tname}") + }; + Expr? init=null; + if(cur.Type==TokType.ASSIGN){Next();init=ParseExpr();} + Expect(TokType.SEMI); + return new VarDecl{Name=name,Type=vt,Init=init}; + } + Stmt ParseStmt(){ + if(cur.Type==TokType.IDENT){ + var n=cur.Text;Next();Expect(TokType.ASSIGN); + var e=ParseExpr();Expect(TokType.SEMI); + return new AssignStmt{Target=n,Expr=e}; + } + throw new Exception($"Invalid stmt start {cur.Type}"); + } + Expr ParseExpr(){return ParseAddSub();} + Expr ParseAddSub(){var l=ParseMulDiv();while(cur.Type==TokType.PLUS||cur.Type==TokType.MINUS){var op=cur.Type;Next();var r=ParseMulDiv();l=new BinaryExpr(l,op,r);}return l;} + Expr ParseMulDiv(){var l=ParsePrimary();while(cur.Type==TokType.MUL||cur.Type==TokType.DIV){var op=cur.Type;Next();var r=ParsePrimary();l=new BinaryExpr(l,op,r);}return l;} + Expr ParsePrimary(){ + if(cur.Type==TokType.INT){int v=int.Parse(cur.Text);Next();return new IntExpr(v);} + if(cur.Type==TokType.IDENT){string n=cur.Text;Next();return new VarExpr(n);} + if(cur.Type==TokType.LPAREN){Next();var e=ParseExpr();Expect(TokType.RPAREN);return e;} + throw new Exception($"Unexpected token {cur.Type}"); + } +} + +// === BYTECODE EMITTER === +public class BytecodeEmitter { + List consts=new(); Dictionary syms=new(); List code=new(); + class Symbol{public string Name;public VarType Type;public int Index;} + public int ConstantsCount=>consts.Count; public int VarCount=>syms.Count; public int CodeLength=>code.Count; + + public void Compile(ProgramNode p){ + int idx=0; + // Pass 1: Definiere Variablen (ohne Init) + foreach(var v in p.Vars) + syms[v.Name]=new Symbol{Name=v.Name,Type=v.Type,Index=idx++}; + + // Pass 2: Generiere Initialisierungscode + foreach(var v in p.Vars){ + if(v.Init!=null){ + EmitExpr(v.Init); + EmitByte(0x03); EmitU16((ushort)syms[v.Name].Index); + } + } + + // Main-Code + foreach(var s in p.Stmts) + EmitStmt(s); + + EmitByte(0xF0); + } + + void EmitStmt(Stmt s){ + if(s is AssignStmt a){ + EmitExpr(a.Expr); + EmitByte(0x03); EmitU16((ushort)syms[a.Target].Index); + } + } + + void EmitExpr(Expr e){ + switch(e){ + case IntExpr ie: + int ci=AddConst(ie.Value); EmitByte(0x01); EmitU16((ushort)ci); break; + case VarExpr ve: + if(!syms.ContainsKey(ve.Name)) + throw new Exception($"Unknown variable {ve.Name}"); + int vi=syms[ve.Name].Index; EmitByte(0x02); EmitU16((ushort)vi); break; + case BinaryExpr be: + EmitExpr(be.L); EmitExpr(be.R); + EmitByte(be.Op switch { + TokType.PLUS=>0x10, TokType.MINUS=>0x11, TokType.MUL=>0x12, TokType.DIV=>0x13, + _=>throw new Exception("bad op") + }); + break; + default: throw new Exception("bad expr"); + } + } + + int AddConst(int v){int i=consts.IndexOf(v);if(i>=0)return i;consts.Add(v);return consts.Count-1;} + void EmitByte(byte b)=>code.Add(b); + void EmitU16(ushort v){code.Add((byte)(v&0xFF));code.Add((byte)(v>>8));} + + public byte[] BuildBinary(){ + using var ms=new MemoryStream(); + var w=new BinaryWriter(ms); + w.Write(Encoding.ASCII.GetBytes("STBC")); + w.Write((ushort)1); + w.Write((ushort)consts.Count); + foreach(var c in consts) w.Write(c); + w.Write((ushort)syms.Count); + var types=new byte[syms.Count]; + foreach(var kv in syms) types[kv.Value.Index]=(byte)kv.Value.Type; + foreach(var b in types) w.Write(b); + w.Write((ushort)code.Count); w.Write(code.ToArray()); + return ms.ToArray(); + } +} diff --git a/bin/Debug/net8.0/Compiler b/bin/Debug/net8.0/Compiler new file mode 100755 index 0000000..5ee08b3 Binary files /dev/null and b/bin/Debug/net8.0/Compiler differ diff --git a/bin/Debug/net8.0/Compiler.deps.json b/bin/Debug/net8.0/Compiler.deps.json new file mode 100644 index 0000000..2f04a16 --- /dev/null +++ b/bin/Debug/net8.0/Compiler.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Compiler/1.0.0": { + "runtime": { + "Compiler.dll": {} + } + } + } + }, + "libraries": { + "Compiler/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/bin/Debug/net8.0/Compiler.dll b/bin/Debug/net8.0/Compiler.dll new file mode 100644 index 0000000..2a71ec9 Binary files /dev/null and b/bin/Debug/net8.0/Compiler.dll differ diff --git a/bin/Debug/net8.0/Compiler.pdb b/bin/Debug/net8.0/Compiler.pdb new file mode 100644 index 0000000..da6d3da Binary files /dev/null and b/bin/Debug/net8.0/Compiler.pdb differ diff --git a/bin/Debug/net8.0/Compiler.runtimeconfig.json b/bin/Debug/net8.0/Compiler.runtimeconfig.json new file mode 100644 index 0000000..becfaea --- /dev/null +++ b/bin/Debug/net8.0/Compiler.runtimeconfig.json @@ -0,0 +1,12 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + "configProperties": { + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/bin/Debug/net8.0/input.st b/bin/Debug/net8.0/input.st new file mode 100644 index 0000000..d0f483a --- /dev/null +++ b/bin/Debug/net8.0/input.st @@ -0,0 +1,7 @@ +PROGRAM MyProg +VAR +a; +x; +END_VAR +x := a + 5; +END_PROGRAM \ No newline at end of file diff --git a/input.st b/input.st new file mode 100644 index 0000000..2bbe478 --- /dev/null +++ b/input.st @@ -0,0 +1,9 @@ +PROGRAM Demo +VAR + a int16 := 5; + b byte := a + 3; + c int32 := b * 2; +END_VAR + +a := a + c; +END_PROGRAM \ No newline at end of file diff --git a/obj/Compiler.csproj.nuget.dgspec.json b/obj/Compiler.csproj.nuget.dgspec.json new file mode 100644 index 0000000..5f333f9 --- /dev/null +++ b/obj/Compiler.csproj.nuget.dgspec.json @@ -0,0 +1,67 @@ +{ + "format": 1, + "restore": { + "/home/martin/Projekte/c#/Compiler/Compiler/Compiler.csproj": {} + }, + "projects": { + "/home/martin/Projekte/c#/Compiler/Compiler/Compiler.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/martin/Projekte/c#/Compiler/Compiler/Compiler.csproj", + "projectName": "Compiler", + "projectPath": "/home/martin/Projekte/c#/Compiler/Compiler/Compiler.csproj", + "packagesPath": "/home/martin/.nuget/packages/", + "outputPath": "/home/martin/Projekte/c#/Compiler/Compiler/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/martin/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.AspNetCore.App.Ref", + "version": "[8.0.20, 8.0.20]" + } + ], + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.120/PortableRuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/obj/Compiler.csproj.nuget.g.props b/obj/Compiler.csproj.nuget.g.props new file mode 100644 index 0000000..857a355 --- /dev/null +++ b/obj/Compiler.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + /home/martin/.nuget/packages/ + /home/martin/.nuget/packages/ + PackageReference + 6.8.1 + + + + + \ No newline at end of file diff --git a/obj/Compiler.csproj.nuget.g.targets b/obj/Compiler.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/obj/Compiler.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/obj/Debug/net8.0/Compiler.AssemblyInfo.cs b/obj/Debug/net8.0/Compiler.AssemblyInfo.cs new file mode 100644 index 0000000..dd07c32 --- /dev/null +++ b/obj/Debug/net8.0/Compiler.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Compiler")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("Compiler")] +[assembly: System.Reflection.AssemblyTitleAttribute("Compiler")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/obj/Debug/net8.0/Compiler.AssemblyInfoInputs.cache b/obj/Debug/net8.0/Compiler.AssemblyInfoInputs.cache new file mode 100644 index 0000000..e7d5643 --- /dev/null +++ b/obj/Debug/net8.0/Compiler.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +595ce70373ddd00c09969aa302b9639c0cb84849045f0786c137462a6cbd7825 diff --git a/obj/Debug/net8.0/Compiler.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net8.0/Compiler.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..095f38f --- /dev/null +++ b/obj/Debug/net8.0/Compiler.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,13 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Compiler +build_property.ProjectDir = /home/martin/Projekte/c#/Compiler/Compiler/ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/obj/Debug/net8.0/Compiler.GlobalUsings.g.cs b/obj/Debug/net8.0/Compiler.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/obj/Debug/net8.0/Compiler.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/obj/Debug/net8.0/Compiler.assets.cache b/obj/Debug/net8.0/Compiler.assets.cache new file mode 100644 index 0000000..7b0586a Binary files /dev/null and b/obj/Debug/net8.0/Compiler.assets.cache differ diff --git a/obj/Debug/net8.0/Compiler.csproj.CoreCompileInputs.cache b/obj/Debug/net8.0/Compiler.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..c43cdc8 --- /dev/null +++ b/obj/Debug/net8.0/Compiler.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +e6875acff382b4d0405949e656b89286b801b5ee697f860245d5bfc0093ae0a1 diff --git a/obj/Debug/net8.0/Compiler.csproj.FileListAbsolute.txt b/obj/Debug/net8.0/Compiler.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..ac2ead2 --- /dev/null +++ b/obj/Debug/net8.0/Compiler.csproj.FileListAbsolute.txt @@ -0,0 +1,14 @@ +/home/martin/Projekte/c#/Compiler/Compiler/bin/Debug/net8.0/Compiler +/home/martin/Projekte/c#/Compiler/Compiler/bin/Debug/net8.0/Compiler.deps.json +/home/martin/Projekte/c#/Compiler/Compiler/bin/Debug/net8.0/Compiler.runtimeconfig.json +/home/martin/Projekte/c#/Compiler/Compiler/bin/Debug/net8.0/Compiler.dll +/home/martin/Projekte/c#/Compiler/Compiler/bin/Debug/net8.0/Compiler.pdb +/home/martin/Projekte/c#/Compiler/Compiler/obj/Debug/net8.0/Compiler.GeneratedMSBuildEditorConfig.editorconfig +/home/martin/Projekte/c#/Compiler/Compiler/obj/Debug/net8.0/Compiler.AssemblyInfoInputs.cache +/home/martin/Projekte/c#/Compiler/Compiler/obj/Debug/net8.0/Compiler.AssemblyInfo.cs +/home/martin/Projekte/c#/Compiler/Compiler/obj/Debug/net8.0/Compiler.csproj.CoreCompileInputs.cache +/home/martin/Projekte/c#/Compiler/Compiler/obj/Debug/net8.0/Compiler.dll +/home/martin/Projekte/c#/Compiler/Compiler/obj/Debug/net8.0/refint/Compiler.dll +/home/martin/Projekte/c#/Compiler/Compiler/obj/Debug/net8.0/Compiler.pdb +/home/martin/Projekte/c#/Compiler/Compiler/obj/Debug/net8.0/Compiler.genruntimeconfig.cache +/home/martin/Projekte/c#/Compiler/Compiler/obj/Debug/net8.0/ref/Compiler.dll diff --git a/obj/Debug/net8.0/Compiler.dll b/obj/Debug/net8.0/Compiler.dll new file mode 100644 index 0000000..2a71ec9 Binary files /dev/null and b/obj/Debug/net8.0/Compiler.dll differ diff --git a/obj/Debug/net8.0/Compiler.genruntimeconfig.cache b/obj/Debug/net8.0/Compiler.genruntimeconfig.cache new file mode 100644 index 0000000..77558d2 --- /dev/null +++ b/obj/Debug/net8.0/Compiler.genruntimeconfig.cache @@ -0,0 +1 @@ +6b5d8c2d7157f68f44a5343b0bc0f4d9b4bb672dc0df047e587bb062cfab53c4 diff --git a/obj/Debug/net8.0/Compiler.pdb b/obj/Debug/net8.0/Compiler.pdb new file mode 100644 index 0000000..da6d3da Binary files /dev/null and b/obj/Debug/net8.0/Compiler.pdb differ diff --git a/obj/Debug/net8.0/apphost b/obj/Debug/net8.0/apphost new file mode 100755 index 0000000..5ee08b3 Binary files /dev/null and b/obj/Debug/net8.0/apphost differ diff --git a/obj/Debug/net8.0/ref/Compiler.dll b/obj/Debug/net8.0/ref/Compiler.dll new file mode 100644 index 0000000..4bf2c32 Binary files /dev/null and b/obj/Debug/net8.0/ref/Compiler.dll differ diff --git a/obj/Debug/net8.0/refint/Compiler.dll b/obj/Debug/net8.0/refint/Compiler.dll new file mode 100644 index 0000000..4bf2c32 Binary files /dev/null and b/obj/Debug/net8.0/refint/Compiler.dll differ diff --git a/obj/project.assets.json b/obj/project.assets.json new file mode 100644 index 0000000..318cf07 --- /dev/null +++ b/obj/project.assets.json @@ -0,0 +1,72 @@ +{ + "version": 3, + "targets": { + "net8.0": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + "net8.0": [] + }, + "packageFolders": { + "/home/martin/.nuget/packages/": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/martin/Projekte/c#/Compiler/Compiler/Compiler.csproj", + "projectName": "Compiler", + "projectPath": "/home/martin/Projekte/c#/Compiler/Compiler/Compiler.csproj", + "packagesPath": "/home/martin/.nuget/packages/", + "outputPath": "/home/martin/Projekte/c#/Compiler/Compiler/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/martin/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.AspNetCore.App.Ref", + "version": "[8.0.20, 8.0.20]" + } + ], + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.120/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/obj/project.nuget.cache b/obj/project.nuget.cache new file mode 100644 index 0000000..c741c16 --- /dev/null +++ b/obj/project.nuget.cache @@ -0,0 +1,10 @@ +{ + "version": 2, + "dgSpecHash": "KIcVXcbXzuWQqdDXRD6T4jld1MppHDYJAAqZWyhE3TCjsZCWQHOYop3xnJIkOLAx4BWQhE7dCbfzWKvC3EIHVA==", + "success": true, + "projectFilePath": "/home/martin/Projekte/c#/Compiler/Compiler/Compiler.csproj", + "expectedPackageFiles": [ + "/home/martin/.nuget/packages/microsoft.aspnetcore.app.ref/8.0.20/microsoft.aspnetcore.app.ref.8.0.20.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/out.bin b/out.bin new file mode 100644 index 0000000..03c49f4 Binary files /dev/null and b/out.bin differ