跳转到内容

带注释的国王参考手册/词法元素

来自维基教科书,开放世界中的开放书籍

词法元素

[编辑 | 编辑源代码]

每个词法元素都由一系列字符组成,可以是界定符、标识符、保留字、数字文字、字符文字、字符串文字或注释。

编译的文本被划分为行。

分隔符代码点是:16#20#(空格,除非在注释、字符串文字或字符文字中),16#0A#(换行符),16#0D#(回车符)。

基本原理

[编辑 | 编辑源代码]

编译是一系列行,概念上由行结束符终止。King 没有指定编译文本中是否有行结束符以及包含哪些字符。King 预期使用的系统上常见的文本文件格式使用一个或两个字符(CR、LF)作为行结束符,因此这在实践中可能是正确的(如果 King 真的被实现了)。

-

界定符

[编辑 | 编辑源代码]
&    '    (    )    *    +    ,    -    .    /    :    ;    <    =    >    @    [    ]    |    {    }    ^    \

=>    ..    <-    /=    >=    <=     <>

基本原理

[编辑 | 编辑源代码]

-

-

标识符

[编辑 | 编辑源代码]
Invalid

V_String

Is_Empty

Latin_1_String
identifier ::= identifier_start {underline identifier_extend}

identifier_start ::= letter_uppercase {letter_uppercase | number_decimal}
                     {letter_lowercase | number_decimal}

identifier_extend ::= identifier_start | number_decimal {letter_uppercase | number_decimal}
                      {letter_lowercase | number_decimal}

一旦按上述方式构建,就会强制执行特定规则(见 TBD)以定义有效的标识符。

基本原理

[编辑 | 编辑源代码]

标识符由下划线分隔的单词组成。有一个初始单词和零个或多个后续单词。初始单词必须以大写字母开头。后续单词可以以大写字母或数字开头。

-

保留字

[编辑 | 编辑源代码]

所有和

开始主体

情况常数

声明增量数字

否则 elseif 结束退出

对于功能

隐藏

如果 在 是

循环

宏 映射 模块

新的 并非 空

的 或者 其他 输出

过程

范围 记录 重命名 返回 反转

选择 分开 序列 设置 一些 子类型

任务 然后 类型

使用

等待 当 与

异或

基本原理

[编辑 | 编辑源代码]

-

-

数字字面量

[编辑 | 编辑源代码]

通用整数

[编辑 | 编辑源代码]
99

478E70

16#CAFE#

通用实数

[编辑 | 编辑源代码]
3.14

0.0

0.25

16#F.FF#E+2

36#THE_QUICK_BROWN_FOX_JUMPS.OVER_THE_LAZY_DOG#
numeric_literal ::= decimal_literal | based_literal

decimal_literal ::= numeral [.numeral] [exponent]

numeral ::= digit {[underline] digit}

exponent ::= E [+] numeral | E - numeral

digit ::= number_decimal

based_literal ::= base # based_numeral [.based_numeral] # [exponent]

base ::= numeral

based_numeral ::= extended_digit {[underline] extended_digit}

extended_digit ::= digit | letter_uppercase

基本原理

[编辑 | 编辑源代码]

-

-

字符字面量

[编辑 | 编辑源代码]
'@'

'Δ'

' '

'''
character_literal ::= 'graphic_character'

基本原理

[编辑 | 编辑源代码]

-

-

字符串字面量

[编辑 | 编辑源代码]
"une soirée passée à étudier les mathématiques ℕ⊂𝕂..." -- Unicode characters

" " -- Space character

"" -- Null string

(参见表达式以获取使用引号构建字符串的示例)

string_literal ::= "{string_element}"

string_element ::= non_quotation_mark_graphic_character

基本原理

[编辑 | 编辑源代码]

-

-

-- Returns the number of Elements in List
comment ::= --{non_end_of_line_graphic_character}

基本原理

[编辑 | 编辑源代码]

-

-

华夏公益教科书