ChatGPT|AI自制编程语言-从0开始最近在看编译器的书籍,想从0开始写一个简单的自制编程语言练练手,但是同时想到自己现在手头有ChatGPT,于是萌生想法:如果我了...
ChatGPT|AI自制编程语言-从0开始
最近在看编译器的书籍,想从0开始写一个简单的自制编程语言练练手,但是同时想到自己现在手头有ChatGPT,于是萌生想法:如果我了解编译器整个设计过程,为什么我还需要重头开始写编译器呢?为何不直接将整个实现思路给到GPT,让GPT帮我实现代码,我只需要考虑如何设计词法和语法,如何优化等过程即可,说干就干,于是开始《ChatGPT|AI自制编程语言》系列文章。
1、试验
在验证《AI自制编程语言》之前,我在想整个流程是否按照想法执行,于是想到golang实现一个表达式引擎(自制编程语言的第一步就是要实现表达式引擎),如果表达式引擎能按照要求实现,那自制编程语言应该用GPT也可以实现。
(1)需求拆解
先将表达式引擎需求的拆解如下:
主功能是用golang实现表达式引擎
使用逆波兰表达运算规则的先后顺序
支持操作符可以定义为+,-,*,/,(,)
支持数据类型可以定义为:number,string
以上需求考虑的如果一次将需求输入给GPT,代码会比较长,而且一旦某个步骤出问题,不得不重新检查或者,所以我们将需求分为三个子步骤:
先让GPT帮我们通过字符串表达式生成逆波兰表达式
然后GPT帮我们实现逆波兰表达式再计算结果
最后GPT帮我们生成字符串表达式计算的测试样例
(2)定义prompt
步骤一:先让GPT帮我们通过字符串表达式生成逆波兰表达式
输入到GPT3.5:
你是一个使用golang开发的资深的程序员,正在开发一个表达式引擎功能,功能需求如下:
– 实现将字符串表达式转换为逆波兰表达式
– 输入是字符串表达式,输出是带空格的逆波兰表达式字符串,同时输出不需要带`(`,`)`,`[`,`]`
– <切记>:只需要支持+,-,*,/,(,)操作符
– 数据类型只包含两种:number,string
– 给出测试用例和main函数
– 代码量控制在最精简的范围
步骤二:然后GPT帮我们实现逆波兰表达式再计算结果网页链接
转载请注明:ChatGPT|AI自制编程语言-从0开始最近在看编译器的书籍,想从0开始写一个简单的自制编程语言练练手,但是同时想到自己现在手头有ChatGPT,于是萌生想法:如果我了... | AI 時.空 | AiTime.Space