zoukankan      html  css  js  c++  java
  • LL(1)文法

    (1)<程序>::=<文件头>|<函数>

    (2)<文件头>::=<库函数>

    (3)<函数>::=<库函数>|<用户自定义函数>|<函数主体>

    (4)<库函数>::=<#include<stdio.h>>|<#define>....

    (5)<用户自定义函数>::=< yizhi>|<>....

    (6)<函数主体>::=<语句串><选择结构>

    (7)<语句串>::=<循环语句>|<条件语句>|<表达式语句> |<数组>|<指针>|<数据类型>|<数字>|<结构体>|<选择结构>|<变量>|<常量>|<运算符>|<符号>|<关键字>|<字符>

    (8)<选择结构>::=<单分支结构>|<分支结构>|<多分支结构>|<嵌套结构>

    (9)<循环语句>::=<for>|<do while>|<while>

    (10)<条件语句>::=< if语句> | <if-else语句> | <switch语句>

    (11)< if语句>::=<if (表达式语句) {可执行语句部分}>

    (12)<if-else语句>::=<if (表达式语句) {可执行语句部分} else {可执行语句部分}>

    (13)<switch语句>::=<switch(变量){ switch语句块 }>

    (14)<switch语句块>::=< case 常量: 可执行语句部分> | < default: 可执行语句部分> | < case 常量: 可执行语句部分> <switch语句块>

    (15)<表达式语句> → <赋值表达式> | <逻辑表达式> | <算术表达式 E>

    (16)<赋值表达式> → <变量> = <算术表达式>

    (17)<逻辑表达式> → (<表达式> | <数字> ) <逻辑运算符> (<表达式> | <数字>)

    E → T|TE `

    E` → (+T|-T)E`|ε

    T → F|FT `

    T `→( *F| /F)T`|ε

    F → PF`

    F` → (↑ P | ε)F`

    P (E) | <常量> | <标识符>

    (18)<逻辑运算符> → > | < | != | <= | >= | = = | ? | : | ! | || | &&

    (19)<数组>::=<数值数组>|<字符数组>

    (20)<数值数组>::=<一维数组>|<二维数组>

    (21)<字符数组>::=<字符串>|<字符串数组>

    (22)<指针>::=<函数指针>|<数组指针> | <字符串指针>| <指向指针的指针>

    (23)<数据类型>::=<整型>|<实型> | <字符型>| <无返回型>

    (24)<数字>::=<0,1,2,3,4,5,6,7,8,9...>

    (25)<结构体>::=<结构体数组>| <结构体指针>| <链表>

    (26)<变量>::=<整型|<实型>|<字符型>

    (27)<常量>::=<整型|<实型>|<字符型>

    (28)<运算符>::=<单目运算符>|<双目运算符>|<三目运算符>|<逗号运算符>

    (29)单目运算符::=<逻辑非运算符【!】>|<自增自减运算符【++,--】>|<负号运算符【-】>|<类型转换运算符【(类型)】>|<指针运算符【*】>|<取地址运算符【&】>|<长度运算符
    【sizeof】>

    (30)双目运算符::=<算术运算符【+,-,*,/】>|<关系运算符【==,!=,>,<,>=,<=】>|<逻辑运算符【&&,||】>|<赋值运算符【=,+=,-=,*=,/=,%=】>|<位运算符【&,^,|,<<,>>】>

    (31)逗号运算符::=<【,】>

    (32)<三目运算符>::=<【?:】>

    (33)<符号>::=<, . ; : ? % & [ ] { } ""...>

    (34)<关键字>::=<begin,end,if,else,do,while,var,auto,break,char,case,int,struct,switch,return,float,static,union,unsigned...>

    (35)<字符>::=<abc...xyz,ABC...XYZ>

  • 相关阅读:
    HDU--2024
    HDU--2021
    HDU--2020
    HDU--2019
    HDU--2018
    HDU--2017
    HDU--2016
    python全栈开发day13-迭代器、生成器、列表推导式等
    python全栈开发day12-函数的有用信息、带参数的装饰器、多个装饰器装饰一个函数、global和nonlocal的进一步解析和总结
    Python3使用Print输出带颜色字体
  • 原文地址:https://www.cnblogs.com/ashh/p/6214631.html
Copyright © 2011-2022 走看看