[李景山php] 深入理解PHP内核[读书笔记]--第二章:用户代码执行--PHP脚本的执行 词法分析和语法分析

词法分析和语法分析


广义而言,语言是一套采用共同符号、表达方式与处理规则。
就编程语言而言,编程语言也是特定规则的符号,用来传达特定的信息,自然语言是人与人之间沟通的渠道,而编程语言则是机器之间,人与机器之间的沟通渠道。

人有非常复杂的语言能力,语言本身也在不断的进化,人之间能够理解复杂的语言规则,而计算机并没有这么复杂的系统,它们只能接受指令执行操作,编程语言则是机器和人(准确说是程序员)之间的桥梁,编程语言的作用就是将语言的特定符号和处理规则进行解释,

编程语言的编译器(compliler)或解释器(interpreter)一般包括两大部分:
1 读取源程序,并处理语言结构。
2 处理语言结构并生成目标程序。

Lex和Yacc可以解决第一个问题,第一个部分也可以分为两个部分:
1 将代码切分为一个个标记(token)
2 处理程序的层级结构(hierarchical structure)

Lex/Flex


Yacc/Bison


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值