From d381f56e1dffff2909ea2cd939f23c71b87731eb Mon Sep 17 00:00:00 2001 From: jackfiled Date: Mon, 22 Apr 2024 21:48:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E4=B8=80=E4=BA=9B=E5=B0=8F=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20(#52)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Lan_G <2911328695@qq.com> Reviewed-on: https://git.rrricardo.top/PostGuard/Canon/pulls/52 --- Canon.Core/SyntaxNodes/AddOperator.cs | 19 +++++++++++-------- Canon.Core/SyntaxNodes/MultiplyOperator.cs | 2 +- Canon.Core/SyntaxNodes/ProgramStruct.cs | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Canon.Core/SyntaxNodes/AddOperator.cs b/Canon.Core/SyntaxNodes/AddOperator.cs index 88a3320..4b974d2 100644 --- a/Canon.Core/SyntaxNodes/AddOperator.cs +++ b/Canon.Core/SyntaxNodes/AddOperator.cs @@ -15,15 +15,18 @@ public class AddOperator : NonTerminatedSyntaxNode public override void GenerateCCode(CCodeBuilder builder) { - var operatorType = Children[0].Convert().Token. - Convert().OperatorType; - if (operatorType == OperatorType.Plus) + var token = Children[0].Convert().Token; + if (token.TokenType == SemanticTokenType.Operator) { - builder.AddString(" +"); - } - else if (operatorType == OperatorType.Minus) - { - builder.AddString(" -"); + var operatorType = token.Convert().OperatorType; + if (operatorType == OperatorType.Plus) + { + builder.AddString(" +"); + } + else if (operatorType == OperatorType.Minus) + { + builder.AddString(" -"); + } } else { diff --git a/Canon.Core/SyntaxNodes/MultiplyOperator.cs b/Canon.Core/SyntaxNodes/MultiplyOperator.cs index f0793ed..dcc4b1e 100644 --- a/Canon.Core/SyntaxNodes/MultiplyOperator.cs +++ b/Canon.Core/SyntaxNodes/MultiplyOperator.cs @@ -25,7 +25,7 @@ public class MultiplyOperator : NonTerminatedSyntaxNode } else if (operatorType == OperatorType.Divide) { - //实数除法,需要将操作数强转为float + //实数除法,需要将操作数强转为double builder.AddString(" /(double)"); } } diff --git a/Canon.Core/SyntaxNodes/ProgramStruct.cs b/Canon.Core/SyntaxNodes/ProgramStruct.cs index ed0922d..4793e27 100644 --- a/Canon.Core/SyntaxNodes/ProgramStruct.cs +++ b/Canon.Core/SyntaxNodes/ProgramStruct.cs @@ -24,7 +24,7 @@ public class ProgramStruct : NonTerminatedSyntaxNode public override void GenerateCCode(CCodeBuilder builder) { - builder.AddString("#include #include "); + builder.AddString("#include "); Body.GenerateCCode(builder); } }