- 博客(3)
- 收藏
- 关注
原创 使用memoize解决PEG解析器无法左递归的问题
*** 本篇文章是个人对 Guido 有关 Packrat PEG 解析器文章的处理左递归部分的理解和总结。***左递归众所周知,PEG 解析器的一个缺陷就在于无法解析具有左递归的文法,而大多数情况下,CFG 使用左递归文法会让很多事情变得简单。下面的 PEG 文法列出了一个简单的左递归实例:expr: expr '+' term | termterm: NAME如果我们使用 PEG 解析器生成器生成对应的 Parser,那它大概率会有如下形式:def expr(p): # ...
2023-01-13 03:33:59
194
原创 【小米手环7】使用 Zeus + 表盘自定义工具 为小米手环7开发和安装小程序
使用 Zeus 和表盘自定义工具开发并安装小米手环7应用程序
2022-09-25 20:49:21
23878
1
原创 【Python源码阅读】PYC 文件剖析
.pyc 文件相信大家见怪不怪,大家经常在 __pycache__ 里面见到这些文件。这些文件存储了 python 编译出来的字节码文件,还有一些元信息(例如版本号,对应文件的修改时间)。接下来将通过对源码的解析对 Python Compiled 文件将进行简要的剖析。注:本文章中出现的代码来自2021年7月12日的 cpython 的 Tag: v3.9.5,作者对源码进行了部分注释和删减约定和提要在这篇文章中,我们的目标是填充好这个结构体。type MTimePycFile struct { .
2021-07-13 00:35:12
1219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人