zoukankan      html  css  js  c++  java
  • 简易c语言LL(1)文法

    〈程序〉::〈声明〉|〈函数〉
    〈声明〉::(A|〈声明〉')〈函数声明〉
    A::〈头文件〉|〈宏定义〉
    〈声明〉'::〈声明〉|null
    〈头文件〉::〈头文件〉〈头文件〉'
    〈头文件〉'::〈头文件〉|null
    〈宏定义〉::#define B〈宏定义〉|null
    B::〈字符串 〉C
    C::〈字符串〉|〈数字〉
    〈字符串〉::〈变量名〉
    〈函数声明〉::〈返回值类型 〉〈函数名〉(〈形参〉) ;〈函数声明〉|null
    〈形参〉::〈数据类型 〉〈变量名〉|〈数据类型 〉〈变量名〉〈,〉〈形参〉|void
    〈变量名〉::〈字母〉D
    D::〈字母〉|〈数字〉|〈_〉|D|null
    〈字母〉::F〈字母〉'
    F::a|b|...|y|z|(大写字母。。。)
    〈字母〉'::〈字母〉|null
    〈数字〉::E〈数字〉'
    E::0|1|...|8|9
    〈数字〉'::〈数字〉|null
    〈返回值类型〉::int|float|char|void
    〈函数名〉::〈变量名〉
    〈函数〉::〈返回值类型〉〈函数名〉{〈函数主体〉}|函数名〉{〈函数主体〉}〈函数〉
    〈函数主体〉::〈变量的申请〉〈处理语句〉
    〈变量的申请〉::〈数据类型 〉〈变量名〉;〈变量的申请〉'
    〈变量的申请〉'::〈变量的申请〉|null
    〈数据类型 〉::int|float|char
    〈处理语句〉::F〈处理语句〉'
    F::〈赋值语句〉|〈判断语句〉|〈循环语句〉|〈函数调用〉
    〈处理语句〉'::〈处理语句〉|null
    〈赋值语句〉::〈变量名〉=G
    G::〈字母〉|〈数字〉|〈变量名〉|〈运算〉
    〈运算〉::〈变量名〉〈运算符〉〈数字〉|〈数字〉〈运算符〉〈数字〉
    〈运算符〉::+|-|*|/
    〈判断语句〉::if(〈条件〉){〈处理语句〉|null}H
    H::〈Else if〉else{〈处理语句〉|null}|null
    〈Else if〉::〈Else if〉'〈else if〉(〈条件〉){〈处理语句〉|null}|null
    〈Else if〉'::〈Else if〉|null
    〈条件〉::〈变量名〉〈判断运算符〉〈变量名〉|〈变量名〉〈判断运算符〉〈数字〉|〈数字〉〈判断运算符〉〈数字〉|〈数字〉
    〈判断运算符〉::=|>|<|>=|<=|!=
    〈循环语句〉::while(〈条件〉){〈处理语句〉}|do{〈处理语句〉}while(〈条件〉)|for(〈赋值语句〉;〈条件〉;〈运算〉){〈处理语句〉}
    〈函数调用〉::〈变量名〉=〈函数名〉(〈形参〉)|〈函数名〉(〈形参〉)

  • 相关阅读:
    .NET Framework 4 不能先解压再使用setup.exe安装的解决方法
    PNG透明度兼容IE6的方法
    VM虚拟机访问宿主机本地站点
    AU3设置非全局快捷键的函数GUISetAccelerators
    Attempted to serialize java.lang.Class: org.hibernate.proxy.HibernateProxy. Forgot to register a type adapter?
    关于Android Studio gradle build running很久的问题
    不懂积累,你怎么成长
    关于ScrollView里的显示不完问题
    关于DialogFragment里控件无法赋新值问题
    Android上传Base64图片,图片变成黑色一块的问题
  • 原文地址:https://www.cnblogs.com/www924121851/p/6135760.html
Copyright © 2011-2022 走看看