• C版程序语法 (消除左递归)


    C程序语法(无左递归)
    <程序> —〉 <外部声明> | <函数定义>
    <外部声明> —〉<头文件> | <变量> | <结构体> 
    <头文件> —〉 #include<文件名>
    <文件名> —〉 stdio.h丨stdlib.h丨string.h
    <结构体> —〉 <结构体声明〉|<变量>
    <结构体声明> —〉 struct<标识符>
    <函数定义> —〉 <类型说明><标识符><参数列表><复合语句>
    <参数列表〉 —〉<类型说明><变量名>
    <复合语句> —〉<变量>|<语句>|<复合语句>|&
    <语句> —〉<表达式语句〉|<选择语句>|<循环语句>|<跳跃语句>|<语句>|&
    <表达式语句> —〉 <赋值表达式>|<关系表达式>|<逻辑表达式>|<表达式语句>|&
    <赋值表达式> —〉 =A/A=
    A —> &|+|-
    <关系表达式> —> 〉| < | 〉=| <= 
    <逻辑表达式> —〉 + | - | * | / 
    <选择语句> —〉 if else语句|switch语句|<选择语句>|& 
    <循环语句> —〉 for语句|while语句|do while语句|<循环语句>|& 
    <跳跃语句> —> return语句|break语句|continue语句
    <变量> —> <类型>丨<标识符>丨<变量值>
    <类型说明> —> int丨char丨double丨float丨long 
    <变量值> —> <字母>丨〈数字〉
    <标识符> 〈==〉 S
    S —> AS1
    S1 —> S1S2
    S2 —> A|B|&
    A —> a|b|c|……y|z
    B —> 0|1|2|3|4|5|6|7|8|9
    <字母> —> a|b|c|……y|z
    <数字> 〈==〉 S
    S —> AS1
    S1 —> S1AS2
    S2 —> &|0
    A —> 1|2|3|4|5|6|7|8|9
  • 相关阅读:
    最近要看的项目
    Lavarel Route::resource
    架构,性能
    Unity ToLua & LuaFramework_UGUI学习笔记(zz)
    Unity UI 布局
    Introduction to Unity UI
    Unity more efficient find
    unity UI如何开启(显示)或者关闭(隐藏)Panel界面最好?
    Unity Canvas vs Panel
    Unity实现新手引导圆形遮罩
  • 原文地址:https://www.cnblogs.com/YY0302/p/6144284.html
Copyright © 2020-2023  润新知