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
C语言简易文法(无左递归)的更多相关文章
- C程序语法(无左递归)
<程序> -〉 <外部声明> | <函数定义><外部声明> -〉<头文件> | <变量> | <结构体> <头 ...
- c语言简易文法
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...
- PHP实现无级递归分类(ThinkPHP框架)
/** * 无级递归分类 * @param int $assortPid 要查询分类的父级id * @param mixed $tag 上下级分类之间的分隔符 * @return string $tr ...
- Dart 语言简易教程系列
google Fuchsia系统 及 dart语言简介 在 InteIIiJ IDEA 中搭建 Dart 的开发环境 Dart Linux 开发环境搭建 Dart 语言简易教程(一) Dart 语言简 ...
- PHP两种实现无级递归分类的方法
/** * 无级递归分类 TP框架 * @param int $assortPid 要查询分类的父级id * @param mixed $tag 上下级分类之间的分隔符 * @return strin ...
- Python 之父的解析器系列之五:左递归 PEG 语法
原题 | Left-recursive PEG grammars 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫("Python猫"公众号作者 ...
- 消除左递归c语言文法
<程序> -〉 <外部声明> | <函数定义><外部声明> -〉<头文件> | <变量> | <结构体> <头 ...
- c语言简易版文法
文法 <程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→ ...
- C语言入门(12)——递归
一个函数在它的函数体内调用它自身称为递归调用.有递归调用操作的函数被称为递归函数.递归调用可以是直接调用,也可以是间接调用.也可以理解为函数的嵌套调用是函数本身. 例如实现一个求阶乘的函数: long ...
随机推荐
- 做Adsense的一些经验
The payment you receive per click depends on how much advertisers are paying per click to advertise ...
- 链表的C语言实现
#ifndef _CONST_H_#define _CONST_H_ #include <stdio.h>#include <stdlib.h> typedef enum { ...
- 服务器CGI运行机制
CGI概括: 定义 通用网关接口(Common Gateway Interface)是HTTP服务器与你的或其它机器上的程序进行"交谈"的一种工具,其程序须运行在网络服务器上. 功 ...
- php : Warning: strftime(): It is not safe to rely on the system's timezone settings.
使用 Smarty 的时候出现这种警告: Warning: strftime(): It is not safe to rely on the system's timezone settings. ...
- kafka使用getOffsetsBefore()获取获取offset异常分析
根据时间戳获取kafka的topic的偏移量,结果获取的偏移量量数据组的长度为0,就会出现如下的数组下标越界的异常,实现的原理是使用了kafka的getOffsetsBefore()方法: Excep ...
- ximalaya
- 【转】Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
下面开始用简单但典型的客户端和服务器端程序说明如何进行网络编程.这一小节讲的是客户端,一个用来连接并读取服务器发送来的时间的客户端. 这里涉及到了编写代码,因此要 搭建unix网络编程环境 unix系 ...
- js和jquery获取当前对象的子元素
开发中经常遇到需要获取ul下的il对象,个人总结了js和jquery的方法. HTML片断: <ul class="box"> <li>子元素1</l ...
- bootstrap笔记
一.栅格系统:<div class="container">内容</div>固定宽度,1200px-margin==1170px<div class= ...
- 把excel导入的自定义时间改成yyyyMMdd
public static String changeCellToString(XSSFCell cell){ String result = "";// Object value ...