书栈网 · BookStack 本次搜索耗时 0.021 秒,为您找到 92 个相关结果.
  • 4 Lex

    4 Lex 4.1 Lex 的例子 4.2 标记列表 4.3 标记的规则 4.4 标记的值 4.5 丢弃标记 4.6 行号和位置信息 4.7 忽略字符 4.8 字面字符 4.9 错误处理 4.10 构建和使用 lexer 4.11 @TOKEN 装饰器 4.12 优化模式 4.13 调试 4.14 其他方式定义词法规则 4.15 ...
  • Lex-time

    Lex-time Look-ups Lex-time As we discussed in Chapter 1, the first traditional phase of a standard language compiler is called lexing (aka, tokenizing). If you recall, the lex...
  • 12.5. Flex — 一个更好的 Lex

    12.5. Flex — 一个更好的 Lex 12.5. Flex — 一个更好的 Lex Flex 是兼容 Lex 的快速语法分析程序 生成器。 可以使用 “info flex ” 查看 flex(1) 的教程。 你需要提供你自己的 “main() “ 和 “yywrap() “.否则,你的 flex 程序,看起来像这样的,编译的时候将不会...
  • 9 高级调试

    9 高级调试 9.1 调试 lex() 和 yacc() 命令 9.2 运行时调试 9 高级调试 调试一个编译器不是件容易的事情。PLY 提供了一些高级的调试能力,这是通过 Python 的l ogging 模块实现的,下面两节介绍这一主题: 9.1 调试 lex() 和 yacc() 命令 lex() 和 yacc() 命令都有调试模式,...
  • 词法分析和语法分析

    词法分析和语法分析 Lex/Flex Yacc/Bison 词法分析和语法分析 广义而言,语言是一套采用共同符号、表达方式与处理规则。就编程语言而言,编程语言也是特定规则的符号,用来传达特定的信息,自然语言是人与人之间沟通的渠道,而编程语言则是机器之间,人与机器之间的沟通渠道。人有非常复杂的语言能力,语言本身也在不断的进化,人之间能够理解复杂的语...
  • 隐含规则一览

    隐含规则一览 隐含规则一览 这里我们将讲述所有预先设置(也就是make内建)的隐含规则,如果我们不明确地写下规则,那么,make就会在这些规则中寻找所需要规则和命令。当然,我们也可以使用make的参数 -r 或 —no-builtin-rules 选项来取消所有的预设置的隐含规则。 当然,即使是我们指定了 -r 参数,某些隐含规则还是会生效,因...
  • 介绍

    来源(书栈小编注) 如果你从事编译器或解析器的开发工作,你可能对lex和yacc不会陌生,PLY 是David Beazley实现的基于Python的lex和yacc。作者最著名的成就可能是其撰写的Python Cookbook, 3rd Edition。我因为偶然的原因接触了PLY,觉得是个好东西,但是似乎国内没有相关的资料。于是萌生了翻译的想法,虽然...
  • 2 介绍

    2 介绍 2 介绍 PLY 是纯粹由 Python 实现的 Lex 和 yacc(流行的编译器构建工具)。PLY 的设计目标是尽可能的沿袭传统 lex 和 yacc 工具的工作方式,包括支持 LALR(1)分析法、提供丰富的输入验证、错误报告和诊断。因此,如果你曾经在其他编程语言下使用过 yacc,你应该能够很容易的迁移到 PLY 上。 2001 ...
  • MySQL · 源码分析 · 一条insert语句的执行过程

    1820 2020-08-13 《数据库内核月报》
    本文只分析了insert语句执行的主路径,和路径上部分关键函数,很多细节没有深入,留给读者继续分析 create table t1(id int); insert into t1 values(1) 略过建立连接,从 mysql_parse() 开始分析 void mysql_parse ( THD * thd , char * raw...
  • 7 多个语法和词法分析器

    7 多个语法和词法分析器 7 多个语法和词法分析器 在高级的分析器程序中,你可能同时需要多个语法和词法分析器。 依照规则行事不会有问题。不过,你需要小心确定所有东西都正确的绑定(hooked up)了。首先,保证将 lex() 和 yacc() 返回的对象保存起来: lexer = lex . lex () # Return...