Skip to content

Commit

Permalink
...
Browse files Browse the repository at this point in the history
  • Loading branch information
Kudzu committed Jun 5, 2019
1 parent a657e13 commit 7b16f75
Show file tree
Hide file tree
Showing 42 changed files with 174 additions and 191 deletions.
65 changes: 0 additions & 65 deletions ToDo.txt → ToDo 2017.txt
Original file line number Original file line Diff line number Diff line change
@@ -1,68 +1,3 @@
2019 Work Plan

1) Reorg file tree (Kudzu)
-ARM space
2) Colorizer - based on existing parser.
3) Get Each .asm emitting same as Gen1
-Swap out G1 for G2 in Cosmos.

-Finalize and complete all emitters
-Emit DS for input to Cosmos via Gen2
-Directories
-XSharp.Build -> Common\Build (Cosmos.Common.Build NS)
-XSharp
-XSharp
-XSC
-VS
-.xs Colorizing
-Use same parser as we have now

-X#/ARM, X#/86

-Kill Gen1
-Integerate G2 for Cosmos and IL2CPU

-Tree for source
-ie XSharp stuff in an XSharp folder, spruce, etc.
-Tree:
Common - Need a name... Build stuff shared with Cosmos and other
-Currently XSharp.Build - keep this or something else?

Spruce
XSharp
VS - Stuff specific for VS 2019

-Implement "X# Projects"
-No real need for .xsproj given how VS Code works?
-Task that when F5 is used, can build and package ISO like Cosmos and boot it.
-Share code from Cosmos
-Where does the common code belong?
-new Common subdir in source? Named what?

===========================================

VS Code
-.xs formatting

-DebugStub
-Share with IL2CPU and Cosmos
















======================================================================================
XSharp.x86 XSharp.x86
"EAX" -> Reg "EAX" -> Reg
types then map to compile types then map to compile
Expand Down
File renamed without changes.
48 changes: 48 additions & 0 deletions ToDo 2019.txt
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,48 @@
2019 Work Plan

1) Reorg file tree (Kudzu)
-ARM space
2) Colorizer - based on existing parser.
3) Get Each .asm emitting same as Gen1
-Swap out G1 for G2 in Cosmos.

-Finalize and complete all emitters
-Emit DS for input to Cosmos via Gen2
-Directories
-XSharp.Build -> Common\Build (Cosmos.Common.Build NS)
-XSharp
-XSharp
-XSC
-VS
-.xs Colorizing
-Use same parser as we have now

-X#/ARM, X#/86

-Kill Gen1
-Integerate G2 for Cosmos and IL2CPU

-Tree for source
-ie XSharp stuff in an XSharp folder, spruce, etc.
-Tree:
Common - Need a name... Build stuff shared with Cosmos and other
-Currently XSharp.Build - keep this or something else?

Spruce
XSharp
VS - Stuff specific for VS 2019

-Implement "X# Projects"
-No real need for .xsproj given how VS Code works?
-Task that when F5 is used, can build and package ISO like Cosmos and boot it.
-Share code from Cosmos
-Where does the common code belong?
-new Common subdir in source? Named what?

===========================================

VS Code
-.xs formatting

-DebugStub
-Share with IL2CPU and Cosmos
2 changes: 1 addition & 1 deletion source/XSharp.Compiler/XSharp.Compiler.csproj
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<ProjectReference Include="..\XSharp.Assembler\XSharp.Assembler.csproj" /> <ProjectReference Include="..\XSharp.Assembler\XSharp.Assembler.csproj" />
<ProjectReference Include="..\XSharp.Build\XSharp.Build.csproj" /> <ProjectReference Include="..\XSharp.Build\XSharp.Build.csproj" />
<ProjectReference Include="..\XSharp.Compiler.Tasks\XSharp.Compiler.Tasks.csproj" Pack="True" PackagePath="" /> <ProjectReference Include="..\XSharp.Compiler.Tasks\XSharp.Compiler.Tasks.csproj" Pack="True" PackagePath="" />
<ProjectReference Include="..\XSharp\XSharp.csproj" /> <ProjectReference Include="..\XSharp\XSharp\XSharp.csproj" />
</ItemGroup> </ItemGroup>


</Project> </Project>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Original file line Diff line number Diff line change
@@ -1,69 +1,69 @@
using Spruce.Tokens; using Spruce.Tokens;


namespace XSharp.Tokens namespace XSharp.Tokens
{ {
public class OpComment : StringList public class OpComment : StringList
{ {
// Comments require a space after. Prevents future conflicts with 3 char ones like Literal // Comments require a space after. Prevents future conflicts with 3 char ones like Literal
public OpComment() : base(@"//") public OpComment() : base(@"//")
{ {
} }
} }


public class OpLiteral : StringList public class OpLiteral : StringList
{ {
public OpLiteral() : base(@"//!") public OpLiteral() : base(@"//!")
{ {
} }
} }


public class OpCompare : StringList public class OpCompare : StringList
{ {
public OpCompare() : base("< > = <= >= !=".Split(' ')) public OpCompare() : base("< > = <= >= !=".Split(' '))
{ {
} }
} }


public class OpMath : StringList public class OpMath : StringList
{ {
public OpMath() : base("+= -= *= /= %=".Split(' ')) public OpMath() : base("+= -= *= /= %=".Split(' '))
{ {
} }
} }


// Only used for bitwise ops with two parameters // Only used for bitwise ops with two parameters
public class OpBitwise : StringList public class OpBitwise : StringList
{ {
public OpBitwise() : base("& | ^".Split(' ')) public OpBitwise() : base("& | ^".Split(' '))
{ {
} }
} }


public class OpIncDec : StringList public class OpIncDec : StringList
{ {
public OpIncDec() : base("++ --".Split(' ')) public OpIncDec() : base("++ --".Split(' '))
{ {
} }
} }


public class OpShift : StringList public class OpShift : StringList
{ {
public OpShift() : base("<< >>".Split(' ')) public OpShift() : base("<< >>".Split(' '))
{ {
} }
} }


public class OpRotate : StringList public class OpRotate : StringList
{ {
public OpRotate() : base("~> <~".Split(' ')) public OpRotate() : base("~> <~".Split(' '))
{ {
} }
} }


public class OpPureComparators : StringList public class OpPureComparators : StringList
{ {
public OpPureComparators() : base("=0 !0 0 > < >= <= = !".Split(' ')) public OpPureComparators() : base("=0 !0 0 > < >= <= = !".Split(' '))
{ {
} }
} }
} }
File renamed without changes.
File renamed without changes.
Original file line number Original file line Diff line number Diff line change
@@ -1,53 +1,53 @@
using XSharp.x86.Params; using XSharp.x86.Params;


namespace XSharp.Tokens namespace XSharp.Tokens
{ {
public class Variable : Identifier public class Variable : Identifier
{ {
public Variable() public Variable()
{ {
mFirstChars = "."; mFirstChars = ".";
} }


protected override bool CheckChar(int aLocalPos, char aChar) protected override bool CheckChar(int aLocalPos, char aChar)
{ {
// The name of the variable must start with a alphabet // The name of the variable must start with a alphabet
if (aLocalPos == 1) if (aLocalPos == 1)
{ {
return Chars.Alpha.IndexOf(aChar) > -1; return Chars.Alpha.IndexOf(aChar) > -1;
} }
return base.CheckChar(aLocalPos, aChar); return base.CheckChar(aLocalPos, aChar);
} }


protected override object Transform(string aText) protected override object Transform(string aText)
{ {
return new Address(aText.Substring(1)); return new Address(aText.Substring(1));
} }
} }


public class VariableAddress : Identifier public class VariableAddress : Identifier
{ {
public VariableAddress() public VariableAddress()
{ {
mFirstChars = "@"; mFirstChars = "@";
} }


protected override bool CheckChar(int aLocalPos, char aChar) protected override bool CheckChar(int aLocalPos, char aChar)
{ {
switch (aLocalPos) switch (aLocalPos)
{ {
case 1: case 1:
return aChar == '.'; return aChar == '.';


case 2: case 2:
return Chars.Alpha.IndexOf(aChar) > -1; return Chars.Alpha.IndexOf(aChar) > -1;
} }
return base.CheckChar(aLocalPos, aChar); return base.CheckChar(aLocalPos, aChar);
} }


protected override object Transform(string aText) protected override object Transform(string aText)
{ {
return aText.Substring(2); return aText.Substring(2);
} }
} }
} }
File renamed without changes.
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
</PropertyGroup> </PropertyGroup>


<ItemGroup> <ItemGroup>
<ProjectReference Include="..\XSharp.x86\XSharp.x86.csproj" /> <ProjectReference Include="..\..\XSharp.x86\XSharp.x86.csproj" />
<ProjectReference Include="..\Spruce\Spruce.csproj" /> <ProjectReference Include="..\..\Spruce\Spruce.csproj" />
<ProjectReference Include="..\XSharp.Assembler\XSharp.Assembler.csproj" /> <ProjectReference Include="..\..\XSharp.Assembler\XSharp.Assembler.csproj" />
</ItemGroup> </ItemGroup>


</Project> </Project>

0 comments on commit 7b16f75

Please sign in to comment.