首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用AFD为C语言编写语法分析器

使用AFD为C语言编写语法分析器
EN

Stack Overflow用户
提问于 2015-02-28 10:34:05
回答 1查看 210关注 0票数 0

我被赋予了一个任务来编写一个C语言分析器使用一个AFD。我可以选择任何我想要的语言,所以我想我会选择Ruby。然而,这一任务在一开始就有点难以把握。

我遇到的问题是:我如何代表整个C语言的AFD?

我一直在做一些调查,最后我阅读了词法分析方面的。在本文中,作者将语言的每一个标记定义为两个状态之间的转换(这是非常符合逻辑的)。我发现,我几乎不可能不错过几个,或者手工建造这么大的渔农处,而不会有很多错误。有小费吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-01 10:09:04

你所做的是一个类似的任务,每年在数千所大学的编译器课程中向许多本科生提出类似的任务,而你所引用的注释是关于这个主题的许多课程笔记的一个很好的样本。

解决方案与任何软件工程问题相同:根据规范测试

虽然手工分析和创建整个语言的AFDs的智力问题可能会让人感到非常容易出错,但不要忘记,您也要负责实现这个问题(使用您选择的Ruby语言)。

这个实现可以通过输入经过仔细分级和选择的C语言输入样本来进行测试。当它没有交付预期的结果时,要么在AFD的编码中出现错误,要么在您构建的AFD中出现错误。您将进行必要的更改,并再次遍历测试循环。

最终,您将得到整个C语言的有效AFD和用Ruby编写的分析器。

通常是一个好主意,从小的开始,实现C语言的一个子集,首先让它工作,然后使用逐步细化将更多的内容添加到它中。这是一种风险较小的策略,而不是一蹴而就。

你需要应用你应该学到的所有关于构建规范、设计、程序和测试的技术,并将其应用到这个问题上。只要把好的计算机科学和软件工程应用于这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28780712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档