豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 79 行 · 4185 字节 · UTF-8
§
寻观「标准库」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「总集」之书。

寻观「编译器核心」之「顺序标识符」之「顺序标识符」之书。

「条目」立「元类型」也。
  「本地条目」立化「字符串」而化「表达式」而「条目」也。
  「文件定义条目」立化「字符串」而化「字符串」而化「表达式」而化「表达式」而「条目」也。

「命名环境」即「列」于「条目」也。

「操作符」立「元类型」也。

「优先级关系」立「元类型」也。
  「左规约」立「优先级关系」也。
  「右规约」立「优先级关系」也。

「操作符集」即「列」于「操作符」也。

「语义标记种类」立「元类型」也。
  「结构操作符标记」立「语义标记种类」也。
  「类型操作符标记」立「语义标记种类」也。
  「控制操作符标记」立「语义标记种类」也。
  「普通操作符标记」立「语义标记种类」也。
  「内建类型标记」立「语义标记种类」也。
  「内建函数标记」立「语义标记种类」也。
  「内建常量标记」立「语义标记种类」也。
  「绑定标识符标记」立「语义标记种类」也。
  「引用标识符标记」立「语义标记种类」也。
  「数值标记」立「语义标记种类」也。
  「字符串标记」立「语义标记种类」也。
  「注释标记」立「语义标记种类」也。
  「结构终止符标记」立「语义标记种类」也。

「语义标记草稿」立「元类型」也。
  「构造语义标记草稿」立化「语义标记种类」而化「字符串」而「语义标记草稿」也。

「栈素」立「元类型」也。
「: 栈关键字立化组件而栈素也。 :」
「:一个栈操作符里有多个可能的操作符匹配是优化之一,针对以下的情况:
    我们有如下操作符
        甲〇乙
        甲〇丙
        甲〇丁
        
    假设给出如下输入:
        甲(巨大的计算消耗)乙
    如果甲有三种可能,因为我们是从左往右解析,巨大的计算消耗会被解析三次,之后看到乙的时候,我们才能确定是哪一个甲
    可有避免的话,是很大的性能提升
    :」
  「栈操作符」立化(「列」于(「操作符」合「整数」))而化「字符串」而「栈素」也。 「:整数字符串组件的序号;字符串是此处源码关键词。:」
  「栈绑定」立化「字符串」而化(「列」于「字符串」) 「:前置注释:」而
  化(「列」于「字符串」) 「:后置注释:」而
  「栈素」也。
    「: 栈树立化分析树而栈素也。 纯分析树 :」
  「栈式」立化「表达式」而化(「列」于「语义标记草稿」)而「栈素」也。 「:纯分析树及其已确认的语义标记:」
  「栈文件结尾」立「栈素」也。 「:EOF:」

「组件」立「元类型」也。
  「字符串组件」立化「字符串」而「组件」也。
  「元素组件」立「组件」也。
  「绑定组件」立「组件」也。

  「构造操作符」立化(「列」于「组件」) 「:name components:」而
  化「整数」 「:uid:」而
  化(化「字符串」 「:当前文件名:」而
  化(「列」于「表达式」)而「或可有」
  于「表达式」
    「:
                        如果传入的组件不符合要求 (例如模式匹配分支合并需要固定的格式),可以返回可无,
                        其他正常情况下请直接抛出异常(例如传入的参数数量不正确)
                    :」
) 「:elaborator,参数以正常顺序传入:」
  而化「字符串」 「:名称,用户必须可用此名指代该操作符:」而
  「操作符」也。

「结构投影符标号」者(「整数」也(「行」于「下个序数」))也。

「函数调用操作符标号」者(「整数」也(「行」于「下个序数」))也。