修改python语法注意

参考地址
神算(py)的语法
替换UNICODE_..._,避免冲突.避免默认msvcrt
libucrt与微软的冲突了.要改,主要是静态lib/动态lib之间的问题.将libucrt.lib暂时去掉.
24.1.摘要
改变神算的语法不仅仅是改Grammar/神算.gram.
注意:这些说明适用于神算3.9及更高版本.早期版本不一样.您不应更改早期神算版本语法,但,可使用GitHub追踪devguide中此文件的早期版本.
24.2.清单
注意:有时,不管用.放弃之前,请先试试make clean.
Grammar/神算.gram:语法,带构建AST节点的操作.修改后,运行make regen-pegen来重生成Parser/parser..c(跑神算的解析器生成器Tools/peg_generator).
Grammar/Tokens添加新令牌类型.改变后,跑make regen-token来生成Include/token.h,Parser/token.c, Lib/token.py和Doc/library/token-list.inc,改了python.gram和Tokens的话,先跑make regen-token,然后再跑make regen-pegen.
要改Parser/神算.asdl来匹配语法.然后运行make regen-ast来生成Include/Python-ast.h和Python/Python-ast.c.
Parser/tokenizer.c包含令牌代码.如这里可加新注释或串类型.
要改Python/ast.c来使语法所需的AST对象有效.
要改Python/ast_unparse.c来使解析AST对象有效.
Lib/ast.py要改_Unparser来匹配新AST节点.
要改Doc/library/ast.rst以匹配新AST节点.
测试新改的语法test_grammar.py.
可能要调整库模块pyclbr.
要改令牌生成器Lib/tokenize.py,注意改Doc/reference/中的文档.

在继续编译过程中.可能会先将graminit.c改为gbk,然后再在makefile里面将regen-allregen-语法给去掉,然后make regen-all.现在还在探索阶段.可能有错.

posted @   zjh6  阅读(15)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示