keli5 简单状态机出问题

问题遇到的现象和发生背景

想用简单状态机顺序发生事件。

问题相关代码,请勿粘贴截图

#include <reg51.h>
#include "1602.h"
#include <intrins.h>

void main()
{
lcd_init();
delay(10);
current_S = S1;

while(1)
{
    switch(current_S)
    {
        case S1   Dis_NameNum();  break;
        case S2   Dis_Major();    break;
        case S3   Dis_NameNum();  break;
            
        default : current_S=S1; break;
    }
}

}

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

求问问题出在哪里,怎么修改能运行

case后面缺少了 : 符号,修改如下
while(1)
{
switch(current_S)
{
case S1: Dis_NameNum(); break;
case S2: Dis_Major(); break;
case S3: Dis_NameNum(); break;

    default: current_S=S1; break;
}

}