StreamIt

王朝百科·作者佚名  2010-07-25
窄屏简体版  字體: |||超大  

StreamIt麻省理工学院(MIT,注意StreamIt的后三个字母)开发的一个面向多核的流语言编译程序。

常多应用于多媒体领域。一个简单的示例A Minimal Programvoid -> void pipeline Minimal{

stream-graph-simple.dot

add IntSource;

add IntPrinter;

}

void -> int filter IntSource {

int x;

init { x = 0;}

work push 1 { push(x++); }

}

int -> void filter IntPrinter {

work pop 1 { print(pop()); }

}下面是斐波那契数列的产生,用StreamIt实现void->void pipeline Fib {

斐波那契数列程序中DOTTY程序产生的流图

add feedbackloop {

join roundrobin(0, 1);

body PeekAdd();

loop Identity<int>();

split duplicate;

enqueue 0;

enqueue 1;

};

add IntPrinter();

}

int->int filter PeekAdd {

work push 1 pop 1 peek 2 {

push(peek(1) + pop());

}

}

int->void filter IntPrinter {

work pop 1 {

println(pop());

}

}StreamIt编译命令及语法

cookbook中关于StreamIt关键字的截图

StreamIt程序以.str结尾,编译程序命令 strc *.str 或者 strc *.str -library(调用JAVA库)

运行已编译好的程序用命令 ./a.out

目前一般linux平台上run

由于StreamIt编译器将.str代码转换成中间代码.java

所以StreamIt有许多规则同JAVA类似 比如程序hello.str中最外的pipeline命名必须为hello

身为流语言的StreamIt结构相当清晰

dotty命令可以为证

查看右图所示的.dot图可用命令 dotty stream-graph-simple.dot

StreamIt语法可查看cookbook

建议在MIT网站上从例子中自己挖掘

附图一张如何查找StreamIt资料StreamIt并未普及

了解这个语言的人相当有限

编译器可在下面给出的扩展阅读中的网站中找,是MIT的官方页面。

另外,在google中收索StreamIt 国防科大会有一些相关的文献

在google中输入StreamIt cookbook会有在CSDN上的资料。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航