我的思路是:用户输入中文需求指令,生成对应程序,直接撸代码
package word;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
//做分词的一个接口 为这个项目的完成 在网上做很多接口 直接调用就好
//当然也可以也在源码里 对文字的一系列处理
//假定一行中文对应一条指令 很多功能会封装起来
//设计会考虑很多设计模式的东西 如重用
public class word {
/**
* 读取txt文件的内容
* @param file 想要读取的文件对象
* @return 返回文件内容
*/
public static String txt2String(File file){
StringBuilder result = new StringBuilder();
try{
BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
String s = null;
while((s = br.readLine())!=null){//使用readLine方法,一次读一行
if(s.equals("输出hello world!") ){
System.out.println("cout<<\"hello world!\";");
}
result.append(System.lineSeparator()+s);
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
return result.toString();
}
public static void main(String[] args){
File file = new File("D:/chinese.txt");
System.out.println(txt2String(file));
}
}
可以看出,程序可以根据输入的中文指令生成相应的代码(cout<<"hello world!")。这也是最为简单的中文指令生成代码模式。
后面的问题是如何能够执行其它中文指令,然后是如何处理很多句的需求描述。尽量用点智能的思想,毕竟得赶时代不是吗?最后就是做成多语言版本的。
希望看到的同志们,有兴趣可以做呀,这个貌似一个人要做一阵子呢。
//设计输入规则
/*
* 每行一条指令
* 每行前几个字作为核心关键词 关键词等级关联 例如:(for、while等)循环输入 循环/输入 读取文件
* 前几个词的关键词暂定为:输出 输入 循环 读取 求 计算
* 先捕捉变量,先生成变量,然后再生成具体程序
* 按需读取或生成程序
* 能求解数学问题是关键,能求解非常复杂的数学是成功
* 这样不会编程的研究人员也可以去搞代码用来辅助研究,而学生或其他人可用来学习标准程序,当然很多非计算机专业或者本专业的学生在做作业时没思路,这个可以辅助帮助
* 而且生成的代码有非常详细和标准的注释
* 有点类似专家系统
* 最终做成一个插件集成在其他应用上?
* 最后要能够排除干扰词汇和语句,生成目标代码
* 得先收集测试语句,然后才能设计输入规则,设计和实现处理策略,最后才能去生成代码
* 收集测试语句的话,得从c/c++/java/pathon等语言教材和课后习题搜集,当然还有很多其他资料
*/