Sample语言上下文无关文法

这篇具有很好参考价值的文章主要介绍了Sample语言上下文无关文法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

<表达式>:

<表达式>-<算术表达式>|<关系表达式>|<布尔表达式>|<赋值表达式>

<算术表达式>

<算术表达式> -> <算术表达式> + <项> | <算术表达式> - <项>|<项>

<项> -> <项>* <因子>|<项>/<因子>|<项>%<因子><因子>

<因子> -> (<算术表达式>)<常量>|<变量>|<函数调用>

<常量> -> <数值型常量><字符型常量>

<变量> -> <标识符>

<函数调用> -> <标识符>(<实参列表>)

<实参列表> -> <实参>|e

<实参> -> <表达式>|<表达式>,<实参>

<关系表达式>

<关系表达式> -> <算术表达式><关系运算符>算术表达式>

<关系运算符> -> > |<|>= l <= | == | !=

<布尔表达式>

<布尔表达式> -> <布尔表达式> || < 布尔项>|<布尔项>

<布尔项> -> <布尔项> && <布尔因子>|<布尔因子>

<布尔因子> -> <算术表达式>|<关系表达式>|!<布尔表达式>

<赋值表达式>

<赋值表达式> -> <标识符>=<表达式>

<语句>

<语句> -> <声明语句>|<执行语句>

<声明语句>

<声明语句> -> <值声明>|<函数声明>|e

<值声明> -> <常量声明>|<变量声明>

<常量声明> -> const <常量类型><常量声明表>

<常量类型> -> int | char | float

<常量声明表> -> <标识符> = <常量>;|<标识符> = <常量>,<常量声明表>

<变量声明> -> <变量类型><变量声明表>

<变量声明表> -> <单变量声明>;|<单变量声明>,<变量声明表>

<单变量声明> -> <变量>|<变量> = <表达式>

<变量类型> -> int | char | float

<函数声明> -> <函数类型><标识符>(<函数声明形参列表>);

<函数类型> -> int | char | float | void

<函数声明形参列表> -> <函数声明形参>|e

<函数声明形参> -> <变量类型>|<变量类型>,<函数声明形参>

<执行语句>

<执行语句> -> <数据处理语句>|<控制语>|<复合语>

<数据处理语句> -> <赋值语句>|<函数调用语句>

<赋值语句> -> <赋值表达式>;

<函数调用语句>-<函数调用>;

<控制语句> -> < if 语>|< for 语>|< while 语> | < do while 语> l < return 语句>

<复合语句> -> {<语句表>}

<语句表> -> <语句> | <语句><语句表>

< if 语句> -> if (<表达式>)<语句>| if (<表达式>)<语句> else <语句>

< for 语句> -> for (<表达式>;<表达式>;<表达式>)<循环语句>

< while 语句> -> while (<表达式>)<循环语句>

< do while 语句> -> do<循环用复合语> while (<表达式>);

<循环语句> -> <声明语句>|<循环执行语句> | <循环用复合语句>

<循环用复合语句> -> {<循环语句表>}

<循环语句表> -> <循环语句>|<循环语句><循环语句表>

<循环执行语句> -> <循环用 if 语句>|< for 语句>|< while 语句>< do while 语句><return语句>l< break 语句>l< continue 语句>

<循环用 if 语句> -> if (<表达式>)<循环语句>|if (<表达式>)<循环语句> else <循环语句>

<return 语句> -> return; | return <表达式>;

< break 语句> -> break;

<continue 语句> -> continue;

<函数定义>

<函数定义> -> <函数类型><标识符>(<函数定义形参列表>) <复合语句>

<函数定义形参列表> -> <函数定义形参>|e

<函数定义形参> -> <变量类型> <标识符>|<变量类型> <标识符>,<函数定义形参>

<程序>

<程序> -> <声明语句> main()<复合语句>函数块>

<函数块> -> <函数定义><函数块>|e

Sample语言上下文无关文法

Sample语言上下文无关文法

Sample语言上下文无关文法文章来源地址https://www.toymoban.com/news/detail-426135.html

到了这里,关于Sample语言上下文无关文法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【python】flask执行上下文context,请求上下文和应用上下文原理解析

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开

    2024年03月26日
    浏览(41)
  • 超长上下文处理:基于Transformer上下文处理常见方法梳理

    原文链接:芝士AI吃鱼 目前已经采用多种方法来增加Transformer的上下文长度,主要侧重于缓解注意力计算的二次复杂度。 例如,Transformer-XL通过缓存先前的上下文,并允许随着层数的增加线性扩展上下文。Longformer采用了一种注意力机制,使得token稀疏地关注远距离的token,从而

    2024年02月13日
    浏览(40)
  • 从零开始理解Linux中断架构(7)--- Linux执行上下文之中断上下文

            当前运行的loop是一条执行流,中断程序运行开启了另外一条执行流,从上一节得知这是三种跳转的第三类,这个是一个大跳转。对中断程序的基本要求就是 中断执行完毕后要恢复到原来执行的程序 ,除了时间流逝外,原来运行的程序应该毫无感知。        

    2024年02月11日
    浏览(50)
  • 〖大前端 - 基础入门三大核心之JS篇(51)〗- 面向对象之认识上下文与上下文规则

    说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费 , 如需要项目实战或者是体系化资源,文末名片加V! 作者:哈哥撩编程,十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司担任研发部门CTO。 荣誉: 2022年度博客之星Top4、2023年度超级个体得主、谷

    2024年02月05日
    浏览(43)
  • CPU上下文切换

    CPU 上下文切换,就是先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器所指的新位置,运行新任务。 CPU 的上下文切换就可以分为几个不同的场景,也就是进程上下文切换、

    2024年02月14日
    浏览(28)
  • 【Spring | 应用上下文】

      本节介绍如何使用资源创建应用程序上下文,包括使用 XML 的快捷方式、如何使用通配符以及其他详细信息。   应用上下文构造函数(针对特定的应用上下文类型)通常将字符串或字符串数组作为资源的位置路径,例如构成上下文定义的 XML 文件。 示例如下    Clas

    2024年02月16日
    浏览(33)
  • Servlet 上下文参数

    2024年02月05日
    浏览(39)
  • js执行上下文

    创造执行上下文,是为了把变量声明给保存下来,在执行时,好找到变量用 看代码要分执行前(构建执行上下文)和执行时去看 执行上下文的组成 1、词法环境:[全局对象]、scope、outer 2、This Binding:提供this的访问 构建执行上下文 1、处理声明 2、检查重复定义 3、初步赋值

    2024年02月02日
    浏览(31)
  • 执行上下文

    通过var定义(声明)的变量--在定义语句之前就可以访问到 值为undefined 通过function声明的函数--在之前就可以直接调用 值为函数定义(对象) 全局代码 函数(局部)代码 在执行全局代码前将window确定为全局执行上下文 对全局数据进行预处理 var定义的全局变量--undefined--添加

    2023年04月20日
    浏览(36)
  • 上下文切换性能篇

    现代操作系统都是多任务的分时操作系统,也就是说同时响应多个用户交互或同时支持多个任务处理,因为 CPU 的速度很快而用户交互的频率相比会低得多。所以例如在 Linux 中,可以支持远大于 CPU 数量的任务同时执行,对于单个 CPU 来说,其实任务并不是在同时执行,而是操

    2024年02月15日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包