如何自定義python語法.
我們需要準備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
.
相關文章
- 如何實現SAP GUI的自定義語法檢查(Syntax check)GUI
- 用python語言自定義mac命令PythonMac
- python如何匯入自定義模組Python
- Python語法的轉義字元Python字元
- SAPGUI裡實現自定義的語法檢查GUI
- 使用PHP實現詞法分析與自定義語言PHP詞法分析
- Python學習之如何引用Python自定義模組?Python
- 語法與語義
- Python 中 sorted 如何自定義比較邏輯Python
- Laravel-admin 自定義擴充套件,jQuery 語法錯誤?Laravel套件jQuery
- 給谷歌輸入法增添自定義片語,提高輸入效率谷歌
- python 自定義函式Python函式
- 教你如何自定義AlertViewView
- vue如何自定義指令?Vue
- HTML基本語法和語義HTML
- AndroidKeyboard(自定義輸入法)Android
- Nginx 如何自定義變數?Nginx變數
- 如何自定義 GNOME 3 桌面?
- 如何自定義 drag 樣式
- 如何自定義控制元件控制元件
- mysql自定義排序順序語句MySql排序
- Python語法Python
- python 語法總結:Python語法快速入門Python
- win10系統自帶輸入法怎麼新增自定義短語Win10
- Python3中如何做的自定義模組的引用?Python
- python - 建立一個自定義模組Python
- 在Python中新增自定義模組Python
- 如何自定義Safari的起始頁
- java中如何自定義註解Java
- 在Laravel 中如何自定義servicesLaravel
- Promise自定義,看我如何征服你Promise
- 屬性動畫:如何自定義View動畫View
- ETL中如何自定義規則
- C語言筆記——自定義型別C語言筆記型別
- List Incarnation 語法含義
- mysql函式定義語法MySql函式
- 得到VIEW的定義語法View
- Python語法—物件Python物件