我们需要准备vs,msys2,gcc等材料.
然后要改.从最简单的开始,先将def加一个df来定义.
我们的流程是:
1,先在msys2里面执行./configure,然后在生成的makefile里面如下修改,先配置一次,可能修改语法后,还要再运行:

OPT=        -DNDEBUG -g -fwrapv -O3 -Wall -fexec-charset=gbk -finput-charset=gbk
BASECFLAGS=     -Wno-unused-result -Wsign-compare -fexec-charset=gbk -finput-charset=gbk

加上gbk编码,非常重要,不然regen-all编译不过.
2,修改你要改的语法.如

function_def_raw[stmt_ty]:| ('def'|'df') n=NAME '(' params=[params] ')' a=['->' z=expression { z }] ':' tc=[func_type_comment] b=block {

3,msys2里面make regen-all,然后生成.
4,在pcbuild里面点进一个目录,然后再F7全部生成.
这里面最重要的就是英文原有关键字,不要删.因为库代码就是用的这个,所以你删了,绝对一大堆错误,还编译不过.因为有个_freeze_importlib.exe就是用的最新的语法(这个还是刚刚生成的新鲜的,所以,你老是通不过,通不过).你删了原有的东西,完了,编译不过,编译不过.
5,然后就是几个要改的地方:

.\Modules\clinic\_pickle.c.h
.\Modules\clinic\_statisticsmodule.c.h
.\Modules\_pickle.c
.\Modules\_statisticsmodule.c
.\Parser\pgen\pgen.py
.\Tools\clinic\clinic.py
.\Tools\peg_generator\pegen\build.py
.\Tools\peg_generator\pegen\c_generator.py
.\Tools\scripts\update_file.py

主要是把with open的打开方式,改为encoding='gbk',errors='ignore',不然有问题,编译不了.
为什么要在msys2里面改,因为必须要用make regen-all配置重新修改有些解析文件.然后python.sln再利用这些文件来生成python.

搞不定py中文化.下面是备注:
make regen-grammer,
make regen-all
先生成语法,.生成的graminit.c要转成gbk,再生成所有.主要是生成parser.c
执行上一步,然后就用微软的来编译
regen-all里面的regen-grammer未弄起,即先做了一下,然后注释掉了.因为graminit.c要转成gbk.
将生成的lib.keyword,也要转成gbk

以后别人有方法时再来.折腾啊.
可能的参考地址
parser.c里面按大小,顺序排列好关键词.
然后,在unicodeobject.c里面,修改默认为gbk编码.再编译试试.
参考地址
这里
这里
可能得关注这个函数:decode_code_page_stateful.

如何自定义python语法.相关推荐

  1. wxpython bind自定义_wxpython 支持python语法高亮的自定义文本框控件的代码

    在研发闲暇时间,把开发过程中比较重要的一些代码做个珍藏,下面的代码内容是关于wxpython 支持python语法高亮的自定义文本框控件的代码,应该是对大家也有用. import keyword im ...

  2. python编程语法大全-python语法汇总

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. splitstriplen()for variable in range ...

  3. python语法类似于php_通过PHP与Python代码对比浅析语法差异

    一.背景 人工智能这几年一直都比较火,笔者一直想去学习一番:因为一直是从事PHP开发工作,对于Python接触并不算多,总是在关键时候面临着基础不牢,地动山摇的尴尬,比如在遇到稍微深入些的问题时候就容 ...

  4. python语法训练_18-04-17回顾: python3语法+刻意训练

    睡梦回顾: 执行的不是特别好,感觉没有强烈的睡前暗示,昨晚的梦境都是感情上的. 应该是昨晚睡前没有明确的回顾点,同时睡前回顾做的有些敷衍. 应该提前指明睡前需要重点回顾哪些知识,回顾到什么程度,并不断 ...

  5. Python语法小白入门

    目录 1.print函数与转义字符 01. 输出函数print() 02.转义字符与原字符 2.变量与数据类型 01.二进制与字符编码 02.Python中的标识符和保留字 03.变量的定义和使用 0 ...

  6. Python语法--Mooc七月

    参考资料备用: python ABC 3.8.2Documentation python cookbook 3rd pip安装超时解决办法 vscode小技巧 打开命令窗口:Ctrl+` 注释:单行 ...

  7. 一些关于面试常考的问题总结(计算机网络和python语法)

    知识难点归纳: 计算机网络相关知识点整理: 1. OSI,TCP/IP,五层协议的体系结构,以及各层协议的作用? 一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层 ...

  8. 整理的Python语法速览与实战清单,请注意查收!

    前言 基础语法 Python 是一门高阶.动态类型的多范式编程语言:定义 Python 文件的时候我们往往会先声明文件编码方式: (文末送读者福利) 人生苦短,请用 Python,大量功能强大的语法糖 ...

  9. 整理的Python语法速览与实战清单,零基础注意查收!

    前言 基础语法 Python 是一门高阶.动态类型的多范式编程语言:定义 Python 文件的时候我们往往会先声明文件编码方式: (文末送读者福利) 人生苦短,请用 Python,大量功能强大的语法糖 ...

  10. Python 语法小知识

    为什么80%的码农都做不了架构师?>>>    序列解包       将含有多个值的序列解开,然后把值存放到变量中,当函数或者方法返回元组时这个特性很有用,可以把返回的序列值直接赋值 ...

最新文章

  1. 使用RxJava实现ImageView的拖动、旋转和缩放
  2. 14. Java基础之泛型
  3. 这些基础协议,你懂吗?
  4. 【机器学习基础】数学推导+纯Python实现机器学习算法27:EM算法
  5. 【python 3.6】python读取json数据存入MySQL(一)
  6. 各种浏览器的各种hack
  7. 8、路由 router
  8. Preserve Whole Object(保持对象完整)
  9. 鸿蒙手机系统还没有开发,华为鸿蒙手机太难了!引发开发者大吐槽:为何没有自己独特风格?-互联网/电商-文章-小虾米...
  10. 留学面试 计算机专业话题,英语面试_美国留学计算机专业详解_沪江英语
  11. fortran_Fortran 60岁生日快乐
  12. html网址怎么收录,新站如何快速收录 让新网站快速被收录的几点技巧
  13. 如何在linux mysql_如何在linux下安装mysql
  14. iphone通知和android,手机App 通知数量太多,让你备感压力吗?教你如何消除令人心烦的信息通知(iPhone、Android)...
  15. 大数据平台对企业有什么作用
  16. paip.模块化设计中常用属性与常用方法
  17. matlab中的取整函数(ceil、floor、round)
  18. instantclient使用步骤
  19. 什么是数据库连接池?为什么使用数据库连接池?数据库连接池工作原理
  20. ov5640帧率配置_码率、帧率、分辨率对监控有什么影响?怎么调更合适?

热门文章

  1. 雄迈摄像头研究笔记二:系统的研究
  2. Intellij IDEA 2018 安装和破解
  3. win10计算器rsh_如何打开win10计算器 教你打开win10计算器的方法
  4. python学习视频下载地址全套
  5. windows--bat--通过bat批处理写入.reg文件在注册
  6. iredmail mysql 密码_iRedMail 批量创建用户 (repost)
  7. yasm linux gcc,yasm安装出现问题
  8. uboot源码修改之支持DM9000
  9. Electron技术架构
  10. 格式工厂kux格式怎么转换成mp4