When Colon Scripting is comming(JavaScript语法扩充)

当冒号脚本来临——

            JavaScript语法扩充


连续好几夜的不能安眠,得出结论就是,未来语言未来的编译器应该是支持语法定制规则和语法扩展的,这样使得编程语言不断进化以更利于人类使用!of course,冒号的想法源自于json表达形式。上篇文章初步表达了JavaScript扩展初步形式。即冒号声明指派,lambda;

补充:对象组织形式

冒号指派除了json对象形式的兼容;如果我们想,数据组织以json表达,逗号分隔是json形式组织对象众属性。

现在完全冒号语言组织对象形式。示例:

// 以分号组织对象表达式
object:
{
	// property
	name:"obj1";
	no:1;
	properties:// json对象形式
	{
		prop1:name,
		prop2:no
	};
	// method func2
	function func2()
	{
		return name;
	}
};

// so here call its method
result: object.func2();

当然json组织数据最好与脚本分离开来,用来描述软配置等数据存储文件最好。

那么脚本主要应该用来处理数据和生成其他所需要输入的。

语言模式,与其他语言体系交互的接口

像C/C++等静态类型语言,各模块并行协作同步开发,都需要以一份接口文档的协调,像.h。试想一份.h无非是为了描述接口以所需要的数据组织结构,因此就是一些结构声明,一些类型表达,和操作这些类型数据的function调用约定声明。

of course任何程序的开发,任务足够庞大总是需要多人协作开发的,或者说需要一定形式预先组织的。因为脚本是而也应该有这样一种类型描述系统,描述类型产生类型这些无法是一套模式表达。像静态语言中这是系统必需要的。那么脚本语言由于自由度够松散,操作起来方便所以一般也就没有这一环节工作,除非是生产一个完整功能的库,将推广给众多人使用,这时候当然是需要生成相应的使用说明文档。既然都是必须文档,那么我们可否寻求同样的形式化表达来表述?

表达属性为何类型对象

此处我们依旧需要借冒号表达其义;其实我们就直接采用pascal声明变量的形式;

形式        name:typename;

组织一类对象的表达式

组织一类对象其实就是定义新的类型名字;

C/C++中是有关键声明的。我们就免了,区分于属性指派及脚本名字指派。我们就不加冒号以形容,这也是最直接最接近C/C++结构的。

下以示例说明:

// 对象模式表达
// 以下描述一类对象的结构组织
Object // Object schema
{
	// propname: typename
	property:int;
	name: string;
	// hehe, declare a method
	// it like a C++11 form
	//method: function(int,string)->int;
	//method2:function()->Object;//return the Object
	// following like the pascal,right! it's clear
	function method(arg:int, arg2:string):int;
	function method2():Object;
	// declare a methodx can attach a lambda processor,
	// and its no return object;
	function methodx(arg:Object,lambda);
};// Object defined over


posted @ 2013-07-25 00:32  鱼木  阅读(175)  评论(0编辑  收藏  举报