c'dent-一种可移植的模块编程语言
cdent的Python项目详细描述
C'dent-一种便携式模块编程语言
c'dent是一种编程语言,它:
- 主要用于编写可移植的oo模块。凹痕模块 一次写入,然后编译为任何 支持的编程语言数。
- 有多个输入语法。包括定义的子集: -Perl和Perl 6 -Python和Python3000 -红宝石 -javascript -Java
- 编译成一种称为“c”dent的共同“分母”树形式。丹特是 具有模块、类、方法和 表达。
- 向现有的几种编程语言发射凹坑树, 包括: -c'dent-已编译的树形式,序列化为yaml或xml -Perl和Perl 6 -Python和Python3000 -菲律宾比索 -红宝石 -javascript -斯卡拉 -爪哇 -动作脚本 -去吧 -PIR(鹦鹉中间运行时) -C和C++ -CIL(.NET通用中间语言)
- 使用静态隐式类型将类型分配给 编译时,为类型冲突抛出语法错误。强的 需要键入以生成 发出的端口语言。
安装
目前安装c'dent的最佳方法是获取源代码并安装 就像这样:
> git clone git://github.com/ingydotnet/cdent.git > cd cdent > sudo python setup.py install
您将需要setuptools for python来运行最后一个命令。在基于Debian的系统上,可以使用以下命令安装:
> sudo apt-get install python-setuptools
用法
安装c'dent之后,您的unix路径中将有一个cdent
编译器。
尝试运行此命令:
cdent --help
你需要一个用c'dent编写的程序。你的凹坑里有些
存储库克隆。一个例子是tests/modules/world.cd.py
,它看起来像
这个:
"""\ This is World class :) """ class World(): def greet(self): print "Hello, world"
您可以使用以下命令编译成ruby:
cdent --compile --in=tests/modules/world.cd.py --to=rb
产生:
# *** DO NOT EDIT *** This is a C'Dent generated Ruby module. ### # This is World class :) ### class World def greet puts("Hello, world") end end
通过更改--to=
的值,可以将其编译为许多其他语言。
开发状态
目前,c'dent可以用简单的module/classes/methods/print/comments语法将模块解析为ast表单,并用多种语言生成等效的输出模块:
C'dent当前可以解析:
- Python
- javascript
- Perl 6
- PIR
- c'dent/yaml(yaml形式的c'dent ast)
凹痕目前可以产生:
- Perl
- Python
- php
- 红宝石
- javascript
- 斯卡拉
- Java
- 动作脚本
- Perl 6
- Python3
- 前进
- PIR
- c'dent/yaml
下一步:
- 添加变量和赋值
- 添加类型检测
- 添加ruby和perl作为输入 Add Scala和C++作为输出
- 很多其他东西
社区
加入irc.freenode.net上的内容。
版权所有
C'dent版权所有(C)2010,英吉网络
C'dent根据新的BSD许可证获得许可。请参阅许可证文件。