新的一种编程语言--Seed7

Seed7是一种通用编程语言,由Thomas Mertes设计。它是一个比C/C++、Java更高级的编程语言。Seed7提供了开放源代码的示例程序,还有一个开源Seed7编译器。编译器首先将Seed7程序编译成C,然后编译成机器代码程序。
在Seed7中,新语句和运算符可以很容易地被定义。结果类型和参数类型的函数比模板或泛型类型的概念更优雅。面向对象方法的定位是用在它会带来的优势的地方而不是在其它有更好的解决方案的地方。虽然Seed7包含其他编程语言的几个概念但它并不是其他任何编程语言的后代。

引入头文件

$ include "seed7 05.s7i"

定义函数

const proc:main is func
end func

声名变量

var string: str is "I have a dream";

for循环

for number range 1 to 100 do 
end for

声名模板

const proc: FOR_DECLS (in type: aType) is func
begin 
  const proc: for (inout aType: variable) range (in aType: low) to 
      (in aType: high) do (in proc: statements) end for is func 
    begin 
      variable := low; 
      if variable <= high then 
         statements; 
         while variable < high do 
         incr(variable); 
         statements; 
         end while; 
      end if; 
    end func; 
end func; 
FOR_DECLS(char); //定义一个type类型的参数后,在调用的时候可以传递不同类型的参                     数,比较灵活
FOR_DECLS(boolean);

通过简单的声名定义,普通的操作符可以方便的进行非常规的操作。

const type: color is new struct
    var integer: red_part   is 0;
    var integer: green_part is 0;
    var integer: blue_part  is 0;
  end struct;

const func color: (in color: col1) + (in color: col2) is func //定义“+”号要                                                                 可以做的事

  result
    var color: result is color.value;
  begin
    result.red_part   := (col1.red_part   + col2.red_part)   div 2; 
    result.green_part := (col1.green_part + col2.green_part) div 2;
    result.blue_part  := (col1.blue_part  + col2.blue_part)  div 2;
  end func;

更多内容请看官网:http://seed7.sourceforge.net/index.htm

文章目录
|