码迷,mamicode.com
首页 >  
搜索关键字:语法分析    ( 754个结果
从无到有用Python创造一门属于自己的编程语言1
前言如果你会编译原理,对其中的词法分析算法,语法分析算法足够了解,那么用什么语言来做这样的一件事情都是可以的,之所以使用Python只是因为本人会的编程语言中,Python的使用时间最长,也最得心应手。所谓性能什么的不在本文的考虑范围内,本文主要重点是语法分析的表达式的解析,语法解析使用的是普拉特分析法,一种自顶向下的语法解析方法。文章目录如下:四则运算的问题词法分析语法分析与解释执行参考链接这有
分类:编程语言   时间:2020-02-17 17:47:24    阅读次数:93
你不知道的JS系列(2)- 引擎怎么查找变量
对代码进行处理的三个角色 引擎:从头到尾负责整个 JavaScript 程序的编译和执行过程 编译器:负责语法分析及代码生成等 作用域:负责收集并维护所有变量的查询 var a = 2; 编译器首先会将这段程序分解成词法单元,然后将词法单元流解析成一个树结构。然后将树结构转换成可执行代码,也就是计算 ...
分类:Web程序   时间:2020-02-12 11:22:24    阅读次数:108
浅谈PHP代码执行的大致流程(opcode)
说到这个代码执行流程啊,咱也不说太多,先给大家分享一张图片: 怎么样?有点了解了么。说实话,单看这个,我本人是有点懵的,不过,不要怕。咱们来慢慢地看下。 首先,在网上找的信息说PHP代码执行的顺序是这样的,第一步是词法分析,第二步是语法分析,第三步是转化为opcode,第四部也就是顺序执行这些opc ...
分类:Web程序   时间:2020-02-01 01:02:26    阅读次数:130
两周自制脚本语言-第10天 无法割舍的数组
第10天 无法割舍的数组 目标:为Stone语言添加简单的数组功能,下标(index)只能使用整数值。 10.1扩展语法分析器 代码清单10.1 与数组相关的语法规则 代码清单10.2 ArrayParser.java 代码清单10.3 ArrayLiteral.java 接下来我们根据新的语法规则 ...
分类:编程语言   时间:2020-01-22 21:32:07    阅读次数:101
C语言中语句的跨行支持总结
C语言中语句的跨行支持总结: 预处理一行写不下: 把一个预处理指示写成多行要用“\”续行,因为根据定义,一条预处理指示只能由一个逻辑代码行组成。 正常程序一行写不下: 把C代码写成多行则不必使用续行符,因为换行在C代码中只不过是一种空白符,在做语法解析(语法分析)时所有空白符都被丢弃了。 字符串常量 ...
分类:编程语言   时间:2020-01-21 23:37:19    阅读次数:109
mysql日志redo log 和binlog
在上一篇中我们说到了mysql的基础架构,通常一个查询操作只会涉及到基础架构中的那几部分; 首先连接数据库,分析器进行语义、语法分析,优化器生成执行计划和索引选择、执行器执行对应的语句、存储引擎查看内存中是否有对应的数据,有的话直接返回,没有的话从磁盘查找(不考虑查询缓存);但是对于更新操作的话还需 ...
分类:数据库   时间:2020-01-21 17:57:59    阅读次数:70
两周自制脚本语言-第7天 添加函数功能
第7天 添加函数功能 基本的函数定义与调用执行、引入闭包使Stone语言可以将变量赋值为函数,或将函数作为参数传递给其他函数 有些函数将有返回值的归为函数,没有返回值的归为子程序 7.1 扩充语法规则 函数定义语句的语法规则 此书将函数定义语句称为def语句。def语句仅能用于最外层代码,用户无法在 ...
分类:编程语言   时间:2020-01-20 00:09:21    阅读次数:87
两周自制脚本语言-第5天 设计语法分析器
第5天 设计语法分析器 5.1 Stone语言的语法 代码清单 5.1 Stone 语言的语法定义 5.2 使用解析器和组合子 Parser库: 一种解析器组合子类型的库 工作是将BNF写成的语法规则改写成Java语言程序 在书中第十七章有详细解说 代码清单 5.2 Stone 语言的语法分析器Ba ...
分类:编程语言   时间:2020-01-17 22:40:37    阅读次数:106
软件构造——实验五 算符优先分析法
【实验目的】 掌握算符优先分析法的原理,利用算符优先分析法将赋值语句进行语法分析。 【实验内容】 (1)输入一个文法根据算符优先分析法,将表达式进行语法分析,判断一个表达式是否为算符优先文法 (2)输入一个句子进行分析 【实验要求】 1、根据文法求FIRSTVT集和LASTVT集 给定一个上下文无关 ...
分类:其他好文   时间:2020-01-17 21:19:00    阅读次数:84
软件构造——LL(1)语法分析
【实验目的】 通过完成预测分析法的语法分析程序,了解预测分析法和递归子程序法的区别和联系。使了解语法分析的功能,掌握语法分析程序设计的原理和构造方法,训练掌握开发应用程序的基本方法。 【实验内容】 u 根据某一文法编制调试 LL ( 1 )分析程序,以便对任意输入的符号串进行分析。 u 构造预测分析 ...
分类:其他好文   时间:2020-01-17 20:55:41    阅读次数:128
754条   上一页 1 ... 3 4 5 6 7 ... 76 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!