中性文件的格式
“中性”文件由 ASCII 文本行组成。该格式有以下元素:
• 以符号 # 开头的行是备注。
• 不以 # 开头的行具有下列形式:
◦ 级 域 值
◦ 其中:
◦ 级是一个整数
◦ 域是一个名称
◦ 值是可出现的一个字符串
• 域必须是下列之一:
◦ 一个简单数据类型(整数、字符串、实数等)的名称
◦ 阵列名
◦ 结构名
◦ 指向结构的指针名
• 某一特定级上的所有域都属于同一父项。
• 如果某一级上有值并且是以左方括号 ([) 开头的,或是由一组用逗号分开的数字组成的,那么它就表示该域是一个尺寸阵列 [n]([m] ...)。阵列的元素值包含在多个行上,这些行由(级+1)行开始,一直到下一个以“级”开头的行。
◦ 对于一维阵列,在较高级只有一行,它的值是一串用逗号隔开的元素值。
◦ 符号 < n*m> 表示下面的 <n> 个元素中每个值都是 <m>。
• 如果某个级上有值 (而且不是字符串 ->),那么它就是要分配域的值。
• 如果某个级上没有值,就表示该域是一个结构。集的紧随元素包含在多个行上,这些行由(级+1)行开始,一直到下一个以“级”开头的行。
• 若行的域是字符串 ugc_xar_len,则该行是一种特例,它表示下一行开始描述长度值阵列。
• 如果值是字符串 ->,则表示域是指向一个集的一个指针,后面就是该集的元素。
• 特殊的值字符串 NULL 表示域是一个值为零的指针。