BeneficialYam7 | 1 points | Aug 09 2021 22:56:31
大学有一节课是要我们用java写一个编译器,能够用来测试其它语言编写的程序代码中的语法错误。我们很多人都是用函数递归做的,除了用递归的方式,还有其他的解决方案吗?已经毕业很久了,只是好奇问问。
[-] BeneficialYam7 | 3 points | Aug 09 2021 22:59:11
当初写这个写的头大。就是把其它编程语言的代码存到一个txt文件里面。然后java读取这个txt文件,看看里面的代码有什么语法错误。
[-] Random-32927 | 3 points | Aug 09 2021 23:25:28
都说了 写一个编译器 那解决方法就是写个编译器啊 从context free grammar 写起,再写个parser,如果parse 不了就有语法错误
[-] netking_sunxiaochuan | 2 points | Aug 09 2021 23:58:57
啊这,编译器难道不是用c/cpp写吗
[-] BeneficialYam7 | 2 points | Aug 10 2021 00:19:22
不是真的写一个编译器。只是要测试代码。
[-] Mechanialist | 1 points | Aug 10 2021 00:30:47
什么码农tv
[-] [deleted] | 1 points | Aug 10 2021 00:51:17
[deleted]
[-] Ok-Ad-2513 | 1 points | Aug 10 2021 01:29:16
你要看检查的具体是静态语言还是动态语言,而且要分两次检查,第一次是语法第二次是逻辑。这不是机导基础吗
[-] [deleted] | 1 points | Aug 10 2021 01:36:02
[deleted]
[-] BeneficialYam7 | 1 points | Aug 10 2021 02:32:58
老师让我们测试的是ada语言。
[-] Anxious-Tonight-6014 | 1 points | Aug 10 2021 03:32:06
机器学习
[-] peroxideal | 1 points | Aug 10 2021 17:25:03
这让我想起了抽象老师讲了点mfc基础知识就让你开发一个GIS系统的故事
[-] hidden_Taksaka | 5 points | Aug 10 2021 01:20:45
递归下降会有不必要的函数开销,如果你觉得这样效率下降可以用编译原理课本里的自底向上归约。但实际上,gcc也只是生成AST然后对它后序遍历来进行检查的,所以GCC的parser也是一个典型的递归下降分析过程。递归下降比那些自底向上的语法更好理解,也更好实现。