繁体   English   中英

寻找与ANTLR 4或MPlex / MPPG兼容的C90语法

[英]Looking for C90 Grammar compatible with ANTLR 4 or MPlex/MPPG

我用C#编写了一个C90交叉编译器,用于朋友的自定义CPU,该CPU生成包含汇编语言的文本文件。 然后,我将其提供给他用Python编写的汇编器,该汇编器生成一个包含机器代码的文本文件。 然后,我们通过串行连接将其传输到他的机器,这时他的自定义CPU运行该程序。

我想将整个过程捆绑在一起,就像在任何现代IDE中一样,只需按下“编译”按钮即可。 另外,谈到现代IDE,最好用记事本以外的方式开发C代码,并享受这些现代IDE必须提供的一些功能,例如文件管理,就地编译,语法突出显示和智能感知。

现在,我将Visual Studio用于大部分开发工作,因此我很清楚它已经与C / C ++编译器捆绑在一起。 能够使用Visual C ++为我们的自定义CPU开发C代码并覆盖其“编译”功能,以使其调用我的编译器工具链而不是其C ++编译器,真是太好了。

我设想的这种方法的问题是:

  1. 我认为无法覆盖“编译”功能,并且
  2. 语法高亮/智能感知将不符合C90标准。 我可以和#2住在一起,但我想知道#1是否可行。

失败了,我需要忍耐不住,将我的自定义编译器集成到Visual Studio中,这样做需要有一个与ANTLR或MPlex / MPPG兼容的C90语法文件,以便我可以在Visual C#中输出解析器/扫描器。 Studio可以使用其语法突出显示/智能感知。

我在ANTLR网站上看到的语法文件是C99; 有人知道C90的实现吗? http://slps.github.io/zoo/#ANSI_C90似乎只有一种,但语法为BGF,EBNF,DMS BNF和SDF格式,我认为它们与我提到的两种工具都不兼容。 任何帮助,将不胜感激。

从Visual Studio 2010开始附带的新的基于MSBuild的Visual C ++工具链为非Microsoft工具链提供了框架级支持。 您仍然需要提供特定于编译器的生成文件,但是您可以将结果干净地集成到Visual Studio中。

我不知道任何情况下实际上有人这样做

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM