Coding style Ada样式错误

Coding style Ada样式错误,coding-style,ada,Coding Style,Ada,这是我的ada代码的一部分。这是给我一些风格错误,请帮助 if (Objective = 0) then -- Initial Tower is not Connected to Final Tower yet if not (NList.isConnectedTo (InitialTower, FinalTower)) then -- Add Main Tower to List of Main Towers if (IndexIni

这是我的ada代码的一部分。这是给我一些风格错误,请帮助

  if (Objective = 0) then
     --  Initial Tower is not Connected to Final Tower yet
     if not (NList.isConnectedTo (InitialTower, FinalTower)) then
        --  Add Main Tower to List of Main Towers
        if (IndexInitial = -1) then
           NumberTowers := NumberTowers + 1;
           IndexInitial := NumberTowers;
           TowerList (NumberTowers) := InitialTower;
        end if;
        --  Add Connection to Main Tower
        NList.addNode (FinalTower, IndexInitial, TowerList);
        InitialTower.NumbLink := InitialTower.NumbLink + 1;
     end if;
  elsif (Objective = 1) then
     --  Invalid Query / Tower was never created
     if (IndexInitial = -1) or else (IndexFinal = -1) then
        Text_IO.Put ("- ");
        Text_IO.Put (SU.To_String (Input1));
        Text_IO.Put (" => ");
        Text_IO.Put (SU.To_String (Input2));
        Text_IO.New_Line; 
     elseif (NList.isConnectedTo (InitialTower, FinalTower)) then
           Text_IO.Put ("+ ");   
     end if;

  end if;
现在,编译器给了我以下错误

main.adb:242:09: (style) incorrect layout
main.adb:242:65: missing ";"
main.adb:246:07: (style) "end" in wrong column, should be in column 10
main.adb:247:03: missing "end if;" for "if" at line 221
gnatmake: "main.adb" compilation error
amd第242行是:elseif(NList.isConnectedTo(InitialTower,FinalTower)),那么在第242行,“elseif”应该是“elsif”

错误只是从那里级联而来——这不是真正的样式错误,除非您使用-gnanty_uuu选项编译。

在第242行,“elseif”应该是“elsif”


这些错误只是从那里级联而来——这不是真正的样式错误,除非您使用-gnanty_uuuu选项进行编译。

在开始担心警告和样式问题之前,您应该始终消除非样式和非警告消息

两者


是“真正的”错误,在您开始担心样式问题和警告之前,应该消除这些错误。

在您开始担心警告和样式问题之前,应该始终消除非样式和非警告消息

两者


是“真实的”错误,在您开始担心样式问题和警告之前,应该先消除这些错误。

看起来您在这里有拼写错误:
elsif(Objective=1),那么
no,“elsif”是该Ada构造的正确拼写。仅供参考,在Ada中,不需要像在基于C语法的语言中那样,在
if
elsif
中的表达式周围加括号。如果你认为它更容易阅读,那好吧。但是这不是必须的,大多数Ada程序员也不需要。另外,仅供参考,'elsif'是Ada中唯一一个不遵循标准拼写的关键字。@ajb,你确实是对的,但是在我的辩护中,我认为goto是两个拼写正确的词的串联,xor不是关键字,而是运算符/学究式的结束。看起来您这里有一个拼写错误:
elsif(Objective=1)然后
no,“elsif”是该Ada构造的正确拼写。仅供参考,您不需要像在基于C语法的语言中一样,在Ada中的
if
elsif
中的表达式周围加括号。如果你认为它更容易阅读,那好吧。但是这不是必须的,大多数Ada程序员也不需要。另外,仅供参考,'elsif'是Ada中唯一一个不遵循标准拼写的关键字。@ajb,你确实是对的,但是在我的辩护中,我认为goto是两个拼写正确的词的串联,xor不是关键字,而是运算符/学究作风的终结。
main.adb:242:65: missing ";"
main.adb:247:03: missing "end if;" for "if" at line 221