From fc4c24f7fcc900f9fb8946b53fb2efaa79dee729 Mon Sep 17 00:00:00 2001 From: kudzu_cp <6d05c8c8ef5431987001abfdb2eadc9593ac9498> Date: Mon, 11 Jun 2012 13:56:53 +0000 Subject: [PATCH] X# --- source2/Compiler/Cosmos.XSharp/Generator.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/source2/Compiler/Cosmos.XSharp/Generator.cs b/source2/Compiler/Cosmos.XSharp/Generator.cs index 1cc058222..ce3121ee2 100644 --- a/source2/Compiler/Cosmos.XSharp/Generator.cs +++ b/source2/Compiler/Cosmos.XSharp/Generator.cs @@ -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()); }