• LL(1)文法


    <源程序>→<外部声明>|<外部声明><函数体>

    <外部申明>→<头文件><函数声明>|其他声明

    <函数体>→<返回值类型><标识符><形参><复合语句>

    <返回值类型>→void|char|int|float

    <标识符>→<字母>|<标识符><字母>|<标识符><数字>

    <字母>→a|b|c|...|z|_

    <数字>→0|1|2|3|4|5|6|7|8|9

    <形参>→<数据类型> <标识符>

    <复合语句>→{}|{ <语句列表>}

    <语句列表>→<复合语句>|<语句列表>

    <复合语句>→<赋值语句>|<条件语句>|<循环语句>

    <赋值语句>→<标识符>=<表达式>

    E→E + T |E–T|T

    T→T*F|T/F|F

    F→E|i

    <条件语句>→S1|S2

    <S1>→if <判断语句><{条件语句}> else <{条件语句}>

    <S2>→if <判断语句><{条件语句}>| if <判断式><{条件语句}> S1

    <判断语句>→<标识符><逻辑运算符><标识符|数字>

    <逻辑运算符>→>|<|=|!|>=|<=

    <循环语句>→<for语句>|<while语句>|<do while语句>

    <for语句>→for(赋值语句;判断语句; <标识符><D>){语句列表}

    D→++|--

    <while语句>→while(判断语句){语句列表}

    <do while语句>→do{语句列表}while(判断语句)

    E→TX

    X→(+T|-T)X|ε

    T→FY

    Y→(*F|/F)Y|ε

    F→(E)|i

  • 相关阅读:
    GraphQL:Descriptor Attributes
    C++ 条件变量
    C++ future
    C++ 互斥
    C++ 通用锁管理
    并发
    C++ 线程
    智能指针
    PMP4.项目整合管理4.7结束项目或阶段
    PMP4.项目整合管理4.5监控项目工作
  • 原文地址:https://www.cnblogs.com/stcy520/p/6187095.html
Copyright © 2020-2023  润新知