Skip to content
Permalink
Browse files

...

  • Loading branch information...
czhower committed Jun 5, 2019
1 parent a657e13 commit 7b16f75c0a9ebc9a5336596b008787269e828ab7
Showing with 174 additions and 191 deletions.
  1. +0 −65 ToDo.txt → ToDo 2017.txt
  2. 0 source/XSharp/ToDo.txt → ToDo 2018.txt
  3. +48 −0 ToDo 2019.txt
  4. +1 −1 source/XSharp.Compiler/XSharp.Compiler.csproj
  5. 0 source/XSharp/{ → XSharp}/Compiler.cs
  6. 0 source/XSharp/{ → XSharp}/Emitters/AllEmitters.cs
  7. 0 source/XSharp/{ → XSharp}/Emitters/Assignments.cs
  8. 0 source/XSharp/{ → XSharp}/Emitters/Comments.cs
  9. 0 source/XSharp/{ → XSharp}/Emitters/Emitters.cs
  10. 0 source/XSharp/{ → XSharp}/Emitters/IncrementDecrement.cs
  11. 0 source/XSharp/{ → XSharp}/Emitters/Math.cs
  12. 0 source/XSharp/{ → XSharp}/Emitters/Namespace.cs
  13. 0 source/XSharp/{ → XSharp}/Emitters/Ports.cs
  14. 0 source/XSharp/{ → XSharp}/Emitters/PushPop.cs
  15. 0 source/XSharp/{ → XSharp}/Emitters/Test.cs
  16. 0 source/XSharp/{ → XSharp}/Emitters/ZeroParamOps.cs
  17. 0 source/XSharp/{ → XSharp}/Gen1/AsmGenerator.cs
  18. 0 source/XSharp/{ → XSharp}/Gen1/Extensions.cs
  19. 0 source/XSharp/{ → XSharp}/Gen1/Parser.cs
  20. 0 source/XSharp/{ → XSharp}/Gen1/Token.cs
  21. 0 source/XSharp/{ → XSharp}/Gen1/TokenList.cs
  22. 0 source/XSharp/{ → XSharp}/Gen1/TokenPatterns.cs
  23. 0 source/XSharp/{ → XSharp}/Gen1/XS.FPU.cs
  24. 0 source/XSharp/{ → XSharp}/Gen1/XS.SSE.cs
  25. 0 source/XSharp/{ → XSharp}/Gen1/XS.SSE2.cs
  26. 0 source/XSharp/{ → XSharp}/Gen1/XS.SSE3.cs
  27. 0 source/XSharp/{ → XSharp}/Gen1/XS.cs
  28. 0 source/XSharp/{ → XSharp}/Gen1/XSRegisters.cs
  29. 0 source/XSharp/{ → XSharp}/Gen1/XSTemplate.DestinationSize.txt
  30. 0 source/XSharp/{ → XSharp}/Gen1/XSTemplate.DestinationSource.txt
  31. 0 source/XSharp/{ → XSharp}/Gen1/XSTemplate.DestinationSourceSize.txt
  32. 0 source/XSharp/{ → XSharp}/Tokens/Compare.cs
  33. 0 source/XSharp/{ → XSharp}/Tokens/Const.cs
  34. 0 source/XSharp/{ → XSharp}/Tokens/Identifier.cs
  35. 0 source/XSharp/{ → XSharp}/Tokens/Keywords.cs
  36. 0 source/XSharp/{ → XSharp}/Tokens/Nums.cs
  37. +69 −69 source/XSharp/{ → XSharp}/Tokens/Operators.cs
  38. 0 source/XSharp/{ → XSharp}/Tokens/Reg.cs
  39. 0 source/XSharp/{ → XSharp}/Tokens/Size.cs
  40. +53 −53 source/XSharp/{ → XSharp}/Tokens/Variable.cs
  41. 0 source/XSharp/{ → XSharp}/Tokens/ZeroParamOps.cs
  42. +3 −3 source/XSharp/{ → XSharp}/XSharp.csproj
@@ -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
"EAX" -> Reg
types then map to compile
File renamed without changes.
@@ -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
@@ -25,7 +25,7 @@
<ProjectReference Include="..\XSharp.Assembler\XSharp.Assembler.csproj" />
<ProjectReference Include="..\XSharp.Build\XSharp.Build.csproj" />
<ProjectReference Include="..\XSharp.Compiler.Tasks\XSharp.Compiler.Tasks.csproj" Pack="True" PackagePath="" />
<ProjectReference Include="..\XSharp\XSharp.csproj" />
<ProjectReference Include="..\XSharp\XSharp\XSharp.csproj" />
</ItemGroup>

</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.
@@ -1,69 +1,69 @@
using Spruce.Tokens;

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

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

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

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

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

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

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

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

public class OpPureComparators : StringList
{
public OpPureComparators() : base("=0 !0 0 > < >= <= = !".Split(' '))
{
}
}
}
using Spruce.Tokens;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

protected override object Transform(string aText)
{
return aText.Substring(2);
}
}
}
using XSharp.x86.Params;

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

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

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

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

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

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

protected override object Transform(string aText)
{
return aText.Substring(2);
}
}
}
File renamed without changes.
@@ -7,9 +7,9 @@
</PropertyGroup>

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

</Project>

0 comments on commit 7b16f75

Please sign in to comment.
You can’t perform that action at this time.