第三部分:第14章内部论域、谓词和常量 14.2内部常量详解 本节以字母顺序,详细解读 isual Prolog的内部常量 e :compilation_date 编译日期。这里YYYY表示年,MM表示月数,DD表示天数。 compilation_ date: string =YYYY-MM-DD 'compilation_ _time 编译时间。这里HH表示小时,MM表示分钟,SS表示秒。 compilation_time: string=HH-MM-SS e :compiler_ buildDate 编译器建立时间 compiler_ build Date:: string=YYYY-MM-DD HH-MM-SS :compiler version 编译器版本,该值决定编译器版本。 compiler_ version= 6003 2004.11.3 A|程序设计 6
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 6 14.2 内部常量详解 本节以字母顺序,详细解读Visual Prolog的内部常量。 ::compilation_date 编译日期。这里YYYY 表示年,MM 表示月数,DD表示天数。 compilation_date : ::string = "YYYY-MM-DD". ::compilation_time 编译时间。这里HH表示小时,MM表示分钟,SS表示秒。 compilation_time : ::string = "HH-MM-SS". ::compiler_buildDate 编译器建立时间。 compiler_buildDate : ::string = "YYYY-MM-DD HH-MM-SS". ::compiler_version 编译器版本,该值决定编译器版本。 compiler_version = 6003
第三部分:第14章内部论域、谓词和常量 14.2内部常量详解 :max FloatDigits 定义编译器支持的" digits"的最大值。 maxFloatDigits= 19 gnoll 空指针,或缺省的NUL指针。 null pointer= unchecked Convert(: pointer, 0) e:platform bits 定义一编译平台的数位容量。 platform bits 32 ::platform name 定义目标平台的名字 platform_name: string =Windows 32bits 2004.11.3 A|程序设计
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 7 14.2 内部常量详解 ::maxFloatDigits 定义编译器支持的"digits"的最大值。 maxFloatDigits = 19. ::null 空指针,或缺省的NULL指针。 null : ::pointer = uncheckedConvert(::pointer, 0). ::platform_bits 定义一编译平台的数位容量。 platform_bits = 32. ::platform_name 定义目标平台的名字。 platform_name : string = "Windows 32bits
第三部分:第14章内部论域、谓词和常量 14.3内部论域详解 本节按字母顺序,详细解读Ⅵ isual Prolog的内部论域。 ∷char 宽字符集。该论域的值是 UNICODE字符,采用双字对字符编码。只有赋值和比较(按 字典顺序的意义来说)操作应用该论域的值。字符的映射有如下语法 char image char value char value letter digit graphical_symbol A escape_ seq 在这里的语法中,HHHH对应于4个16进制的 escape seq 数字。同样,反斜线符号和单引用号只能用 一种转义序列表示。 u HHHH 2004.11.3 A|程序设计 8
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 8 14.3 内部论域详解 本节按字母顺序,详细解读Visual Prolog的内部论域。 ::char 宽字符集。该论域的值是UNICODE字符,采用双字对字符编码。只有赋值和比较(按 字典顺序的意义来说)操作应用该论域的值。字符的映射有如下语法: char_image : ' char_value ' char_value : letter digit graphical_symbol \ escape_seq escape_seq : t n r \ ' " u HHHH 在这里的语法中,HHHH对应于4个16进制的 数字。同样,反斜线符号和单引用号只能用 一种转义序列表示
第三部分:第14章内部论域、谓词和常量 14.3内部论域详解 ;: string 宽的0终止的宽字符序列。 表示\ 个字符串是一串 UNICODE字 符。它作为指向宽的0终止的 t表示制表符 宽字符序列的指针。只有赋值 n表示换行符 和比较(按字典顺序的意义来 表示回车 说)操作应用该论域的值。在 Y表示单引号 源代码中,一个字符串文字可 用双引号内的一串字符定义。 表示双引号 string literal 一个"u"后面跟着四个十六进制数表 string LiteralPart-list 示与数值对应的 Unicode字符 stringliteralPart: 字符串中的双引号只能用转义序列表 a" anyCharacter-list-opt 示(单引号既可以用转义序列也可以 characterValue-list-opt 1 用图形符号表示)。 2004.11.3 A|程序设计
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 9 14.3 内部论域详解 ::string 宽的0终止的宽字符序列。 一 个字符串是一串UNICODE字 符。它作为指向宽的0终止的 宽字符序列的指针。只有赋值 和比较(按字典顺序的意义来 说)操作应用该论域的值。在 源代码中,一个字符串文字可 用双引号内的一串字符定义。 stringLiteral: stringLiteralPart-list stringLiteralPart: @" anyCharacter-list-opt " " characterValue-list-opt " \\ 表示\ \t 表示制表符 \n 表示换行符 \r 表示回车 \' 表示单引号 \" 表示双引号 一个"u"后面跟着四个十六进制数表 示与数值对应的Unicode 字符。 字符串中的双引号只能用转义序列表 示(单引号既可以用转义序列也可以 用图形符号表示)
第三部分:第14章内部论域、谓词和常量 14.3内部论域详解 : symbol 宽的0终止的宽字符序列。 与字符串相似,一个符号也是一个 UNICODE字符序列。它是通过指向包 含字符串的符号表的入口的指针而实现的。可应用于符号的操作与可应用 于字符串的操作相同 个符号的映像用< string|tera>表示(任何用双引号括起来的字符)。 符号和字符串大部分是可互换的,但它们存储的方式不同。符号保存在 个查询表中,而它们的地址,不是符号本身,被存储以代表对象。这意味 着符号可以快速匹配,而且如果一个符号在一个程序中反复出现,它们可 以非常简洁地存储。字符串并不存在于查询表中。无论何时字符串需要匹 配, Visual Prolog都会逐字符检查。 2004.11.3 A|程序设计 10
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 10 14.3 内部论域详解 ::symbol 宽的0终止的宽字符序列。 与字符串相似,一个符号也是一个UNICODE 字符序列。它是通过指向包 含字符串的符号表的入口的指针而实现的。可应用于符号的操作与可应用 于字符串的操作相同。 一个符号的映像用<string_literal>表示(任何用双引号括起来的字符)。 符号和字符串大部分是可互换的,但它们存储的方式不同。符号保存在一 个查询表中,而它们的地址,不是符号本身,被存储以代表对象。这意味 着符号可以快速匹配,而且如果一个符号在一个程序中反复出现,它们可 以非常简洁地存储。字符串并不存在于查询表中。无论何时字符串需要匹 配,Visual Prolog都会逐字符检查