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); } }