小编flo*_*olo的帖子

C到硬件编译器(HLL综合)

我尝试对所有C到硬件编译器进行调查/历史记录.

对于所有不了解它们的人:他们采用C代码然后将其转换为某种硬件描述语言(如VHDL或Verilog),然后可用于生成硬件(通常它被映射到FPGA - 但我不限于此,作为目标的ASIC也会很好).

我已经收集了一些(+关于它们的信息).所以我的问题是:你知道任何其他编译器(如果有的话,有任何引用,指针,有关它们的信息)?

到目前为止我的清单:

  • AutoESL
  • 巴赫-C(夏普)
  • C2H(Altera)
  • C2R(Cebatech)
  • C2Verilog(CompiLogic/C Level Design/Synposys)
  • Carte/MAP(SRC电脑)
  • 级联(CriticalBlue)
  • 现金(卡内基梅隆大学,匹兹堡)
  • Catapult-C(Mentor Graphics)
  • CHC(Altium)
  • CHiMPS(华盛顿大学(西雅图)/ Xilinx /很快商业?)
  • C-to-Verilog(海法)
  • 同志(TU Braunschweig EIS + TU Darmstadt ESA)
  • CVC(日立)
  • 网络(NEC)
  • 代达罗斯(Uni Amsterdam,Uni Leiden)
  • DIME-C(Nallatech)
  • eXCite(YXI)
  • FP-Compiler(Altera)
  • FpgaC(OpenSource)
  • GarpCC(Callahan,加州大学伯克利分校)
  • GAUT(UBS-UniversitätFrancreich)
  • Handel-C(Celoxica)
  • Hthreads(堪萨斯大学)
  • Impulse-C(脉冲加速技术)
  • Mitrion-C(Mitrionics)
  • DWARV(代尔夫特理工大学)
  • NIMBLE(Synopsys,EIS Braunschweig)
  • NISC(加州大学欧文分校)
  • PICO-Express(Synfora => Synopsys)
  • PRISC(哈佛大学,剑桥)
  • ROCCC(加州大学河滨分校)
  • SPARK(加州大学欧文分校)
  • SpecC(Gajski等人)
  • 三叉戟(OpenSource,洛斯阿拉莫斯国家实验室)
  • 小牛肉
  • vfTools(矢量面料)
  • xPilot(加州大学洛杉矶分校)

(我知道列表中并不是所有人都有C作为源,有些人使用类似C语言的方言,而且几乎所有人都只支持一个子集,我也对此感兴趣).

编辑:我知道如何使用谷歌,所以我已经检查了因果嫌疑人,并已包括结果.因此,如果他真的知道一些纸张或异国情调的工具(或者可能不那么奇特,但实现了某种程度上隐藏的功能,并且编译器没有被广告),那么很可能有人只能回答这里.

c hardware compiler-construction fpga

28
推荐指数
1
解决办法
1万
查看次数

重写修改的goto语义的算法

我用一种旧的自我构思的脚本语言得到了大量遗留代码,我们将其编译/转换为javascript.

该语言有条件跳转,跳转到标签.与常见的goto语句的区别在于,不能进行向后跳转.该语言中没有嵌套的if语句和循环.

由于goto中不存在goto,我正在寻找一种转换goto mylabelmylabel:进入语义等效结构的算法.

我想使用ifs但发现它不是微不足道的,因为goto标签的任意嵌套.

例:

if cond1 goto a
do something1
if cond2 goto b
do something2
a:
do something3
if cond3 goto c
do something4
c:
do something5
b:
Run Code Online (Sandbox Code Playgroud)

可以改写为:

lbl_b=false;
lbl_c=false;

lbl_a = cond1;
if (!cond1) {
  do something1;
  lbl_b = cond2;
  if (!lbl_b) {
    do something2;
  }
}
if (!lbl_b) {
  do something3;
  lbl_c = cond3;
  if (!lbl_c) {
    do something4;
  }
  do something5;
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法从中推导出一般算法.

algorithm programming-languages goto

5
推荐指数
1
解决办法
336
查看次数

从ANTLR生成EBNF

有人知道从ANTLR生成EBNF的工具吗?ANTLR已接近EBNF,但出于文档目的,我希望有一个干净的EBNF描述(中间没有代码).

使用antlrworks,这已经很好地获取语法图:

java -cp antlrworks-1.1.4.jar org.antlr.works.Console -f yql.g -o output/ -sd eps
Run Code Online (Sandbox Code Playgroud)

但它希望有一个简单的文本描述,更好的文本,tex,html,xml或类似.

antlr ebnf

5
推荐指数
1
解决办法
2341
查看次数