mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-21 05:18:38 +00:00
X#
This commit is contained in:
parent
7604951483
commit
fc4c24f7fc
1 changed files with 6 additions and 3 deletions
|
|
@ -16,8 +16,8 @@ namespace Cosmos.Compiler.XSharp {
|
|||
public Generator() {
|
||||
mPatterns.Add(new TokenPattern(new TokenType[] { TokenType.Literal }),
|
||||
"new LiteralAssemblerCode(\"{0}\");");
|
||||
mPatterns.Add(new TokenPattern(new TokenType[] { TokenType.Comment }),
|
||||
"new Comment(\"{0}\");");
|
||||
//mPatterns.Add(new TokenPattern(new TokenType[] { TokenType.Comment }),
|
||||
// "new Comment(\"{0}\");");
|
||||
mPatterns.Add(new TokenPattern(new TokenType[] { TokenType.Register, TokenType.Assignment, TokenType.ValueNumber }),
|
||||
"new Move{{DestinationReg = RegistersEnum.{0}, SourceValue = {2}}};");
|
||||
}
|
||||
|
|
@ -76,7 +76,10 @@ namespace Cosmos.Compiler.XSharp {
|
|||
var xTokens = xParser.Tokens;
|
||||
|
||||
var xPattern = xTokens.Select(c => c.Type).ToArray();
|
||||
var xCode = mPatterns[new TokenPattern(xPattern)];
|
||||
string xCode;
|
||||
if (!mPatterns.TryGetValue(new TokenPattern(xPattern), out xCode)) {
|
||||
throw new Exception("Invalid token pattern in X# file.");
|
||||
}
|
||||
mOutput.WriteLine(xCode, xTokens.Select(c => c.Value).ToArray());
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue