《tsal简介》
1)什么是Tsal
tasl 是一种简单的结构化描述语言
2)tsal应用
1)tsal 可以用于配置文件
2)描述结构化物体
3)开发Tsal的原因
tsal 是自己在做一个项目时写的,因为当时需要从文件中读取大量的信息来处理,当时也考虑过使用xml来存储信息,但是项目语言为c语言,时间有非常紧,又没有找到合适的xml第三方库,所以就打算自己写一个简单的结构性描述语言。
这几天没有什么事情,所以我把tsal的开发文档整理出来,和大家一起分享
《tsal应用举列》
下面讲几个使用tsal的例子,让大家明白tsal是什么
1)使用来描述一本书
#filename book.tl
#用tsal来描述一本叫"abad book"的书本,
#该书本有两个作者
#一个为bady住在GuiLin
#一个为dying住在ChengDu
[book]
{
name= a bad book
[author]
name=bady
address=GuiLin
[author]
name=dying
address=ChengDu
}
2)使用tsal来描述通讯录
#filename phonebook.tl
#用tsal来描述电话薄,现在电话薄只有两个人
[phonebook]
{
num=2
[people]
{
name=l3
email=l3@foxmail.com
phone=1235874521
age=56
}
[people]
{
name=s3
email=s3@163.com
phone=13087930479
age=10
}
}
3)使用tsal来描述一间宿舍
#描述宿舍
[ room= 11_401]
{
cap=8
[people]
{
number=0800310106
name=chen lin
age=23
}
[people ]
{
number=0800310107
name=chen tong jiu
age=23
}
}
《tsal中两个重要的概念》
在tsal中有两个重要的概念,第一个是元素,第二个是属性。一个元素可以包含多个属性和多个子元素,tsal就在这种关系下,组合起来。
在tsal用[ ]来标记元素,每一个元素由元素类与元素名组成,元素类帮助我们在程序里面来判断不同种类的元素,元素名则用分辨同类元素的不同个体。
属性由属性名和属性值组成,在tsal表现为name=value。
下面描述宿舍大小的例子
[room=11_401] #元素类为room,元素名为11_401
cap=8 #属性名为cap,值为8
[room=12_203] #元素类为room,元素名为12_203
cap=6 #属性名为cap,值为6
《tsal的语法规则》
1)特殊符号
在tsal下面7个符号被视为特殊符号,每一个待殊符号都有自己的特殊意义。
[ ] { } = #
-
[ ] 这两个符号用来标记元素。例如:[room=''11#401'']
-
= 等号用于两个地方,一个是在元素中用来区分元素类与元素值,二是用来区分属性名与属性值。
-
# 井号后面直到这一行结束都被视为注释。
-
{ } 大括号用于标记一个元素下面包含子元素与属性的范围。
2)元素的定义
在tsal中使用[ ]来标记该位置描述的是一个元素,在[前面除了空白符号,不能出现其它的字符,在]后面如果没有注释,同样也是除了空白符之外,不能出现其它的符号。
元素类与元素名使用=号来区分,元素的定义可以使用[元素类]或者是[元素类=元素名]这两种方式。元素类与元素名的命名只能使用特殊以外的符号。
在[与元素类之间,元素类与=之间,=与元素名,元素名与