使用L脚本语言实现分布式计算的例子

一种编程语言要让大家接受需要有一个从理解到使用的过程,之前介绍的L脚本语言的设计思想和语法介绍也可能不那么直观,

后续我会编写一些L脚本语言的例子给大家参考

这里我先来写一个分布式计算的例子

其实分布式计算就是将计算任务分解给不同的计算机,由多个计算机实现共同的计算任务

这里,我们需要有一个管理者计算机,多个工作者计算机

管理者将任务分配给工作者,工作者完成计算任务后交给管理者,最后再由管理者将所有计算结果汇总

下面这个例子是L脚本语言编写的工作者,它不断在一个UDP的端口上监听,如果有发过来的计算任务就进行计算,再把计算结果发送回去

#scp

定义:字符串,string1,"hello"

定义:字符串,string2,

定义:地址,addr2,127.0.0.1,27015

定义:整数,字节数,0

定义:网络连接,conn2,UDP

监听:conn2,addr2

定义:函数,routine

开始:函数,routine

接收:conn2,string2

取大小:字符串,string2,字节数

如果:字节数>0,计算:算式,exp,string2

显示:exp

格式化:字符串,string1,"%s",exp

如果:字节数>0,发送:conn2,string1

睡眠:1

结束:函数,routine

当:1,调用:函数,routine

下面这个例子是一个L脚本语言编写的管理者,它将任务分发给多个工作者,接收并显示计算结果

#scp

定义:函数,function2,参数计算内容,参数远程地址

开始:函数,function2

定义:字符串,计算结果

定义:整数,字节数,0

定义:整数, count,1

定义:网络连接,conn1,UDP

连接:conn1,参数远程地址

发送:conn1,参数计算内容

接收:conn1,计算结果

取大小:字符串,计算结果,字节数

如果:字节数>0,显示:计算结果

结束:函数,function2

定义:字符串,数学计算内容,"1000+999*666-98+512"

定义:地址,addr2,127.0.0.1,27015

#定义:地址,addr3,192.168.1.101,27015

定义:表,table1

插入:表,table1,addr2

插入:表,table1,addr3

定义:函数,表元素的访问,元素名称

开始:函数,表元素的访问

调用:函数,function2,数学计算内容,元素名称

结束:函数,表元素的访问

遍历:table1,表元素的访问

等待:用户输入,数学计算内容

时间: 2024-12-23 02:55:26

使用L脚本语言实现分布式计算的例子的相关文章

L脚本语言编写的简单数学函数库

对于一种编程语言数学计算的功能当然是必不可少的,通过L脚本语言的基本数学运算功能实现数学计算库也很简单 在L脚本语言中,使用库之前需要进行导入,这和C语言的include引用Java的导入jar包是类似的 下面的例子是一个L脚本语言的库文件 #scplib #数学函数库 定义:函数,求圆的周长,半径 开始:函数,求圆的周长 计算:算式,ret,2*3.14*半径 显示:ret 结束:函数,求圆的周长 定义:函数,求圆的面积,半径 开始:函数,求圆的面积 计算:算式,ret,3.14*(半径*半径

L脚本语言字符串处理

字符串处理是编程语言的基本功能特性之一,L脚本语言的字符串处理功能也不弱 下面这个脚本文件是一些字符串处理的例子 #scp 定义:字符串,string1,"123456abcdefg" 定义:字符串,string2,"abc" 定义:字符串,string3 定义:整数,length,0 定义:整数,pos,0 取大小:字符串,string2,length 查找:字符串,string1,string2,pos 显示:length 显示:pos 取子串:string3,

使用L脚本语言开发一个XML访问库

XML目前是应用最广泛的数据交换格式 那么我们就来使用L脚本语言开发一个XML访问库 下面这个脚本文件是一个简单的XML文件访问库,它能够生成简单的XML文件 #scplib 定义:类,XML文件 开始:类,XML文件 定义:字符串,XML文件头 定义:字符串,文件体 定义:字符串,开始标签,"<" 定义:字符串,行结束标签,"/>" 定义:字符串,结束标签,">" 定义:字符串,段落结束标签 定义:函数,插入文件头,文件头 开

L脚本语言调用操作系统API

L脚本语言支持直接调用操作系统提供的C语言API函数,以保证供更大程度的灵活性 目前,仅支持函数调用约定为__stdcall 的C语言函数 C语言的变量和L脚本语言的对象不是一一对应的关系,因此调用C语言函数的时候不能直接将L脚本语言的对象作为参数传入,但是可以进行适当的转换 下面是一个调用windows系统kernel32.dll中OutputDebugStringW函数和 一个调用user32.dll 中MessageBoxW函数的例子 并将其封装为L脚本语言的全局函数 #scplib 定义

L脚本语言访问注册表

L脚本语言可以方便地访问windows注册表 用它也可以完成一些系统维护的任务 #scp #这是一个注册表访问的例子,它先在注册表中添加一个启动项,再将它删除 定义:字符串,string2 定义:字符串,string1,"c:\nginx\ngnix.exe" 打开:注册表,reg1,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,HttpServer 写入:注册表,reg1,string1 读取:注册表

L脚本语言语法手册

0.02版 赵亮 简  介 L脚本语言是一个轻量级的,旨在接近自然语言的编程语言,目前支持在中文.英文基础上的编程.并可扩展为任意语种.L脚本语言的语法结构简单,程序结构相对松散,易学易用. 目前L脚本语言仍处于开发初期,功能尚不完善.目前尚未提供源码编辑器,建议使用notepad++或者ultraedit进行源码编辑. 解释器引擎CSDN资源下载地址   http://download.csdn.net/detail/itmes/8656133 目录 一.         注释.. 2 二.

L脚本语言语法手册 0.10版

L脚本语言语法手册 0.10版 赵亮       简  介 L脚本语言是一个轻量级的,旨在接近自然语言的编程语言,目前支持在中文.英文基础上的编程.并可扩展为任意语种.L脚本语言的语法结构简单,程序结构相对松散,易学易用. 目前L脚本语言仍处于开发初期,功能尚不完善.目前提供了一个简单的源码编辑器,建议使用notepad++或者ultraedit进行源码编辑. 目录 一.        介绍.. 2 二.        注释.. 3 三.        对象定义和引用.. 3 四.       

L脚本语言的全局函数

L脚本语言的语法规则只有一条 动作:对象类型,对象名称,参数列表 L脚本语言所有的功能实现都基于这一条基本的语法规则 L脚本语言内置了61个基本的动作定义,这些基本的动作定义其实也可以理解为函数调用,只不过这些动作名称是语言内置的.全局的 那如果我们想要自己扩展L脚本语言的全局动作是否可行呢? 答案是可行的,L脚本语言提供了将用户定义函数注册为全局动作的接口 我们可以参考一个例子 L脚本语言的基本语法中,在控制台输出内容的语法为 显示:对象名称 显示:静态字符串 如果我们不想用"显示"

L脚本语言英文版

L脚本语言不是仅支持中文,我还开发了一个英文版,当然,只不过是关键字全都替换为英文了,其实L脚本语言可以支持任意语种,利用全局动作注册的特性,我们自己可以对它进行改造 这是英文版的数学计算函数库及其调用的例子 #scplib #mathmetic lib define:function,get_circumference,radius start:function,get_circumference compute:expression,ret,2*3.14*radius show:ret en