Files
Endorphin-Document/README.md
T

49 lines
3.2 KiB
Markdown

# Endorphin 语言文档
Endorphin 是一门面向云原生应用的编程语言,使用统一的语言模型描述前端界面、数据结构和后端业务逻辑。开发者编写声明、表达式与调用关系,系统负责组织这些逻辑的执行。
## 阅读指南
正文按概念的依赖顺序编排。首次阅读从第 1 章开始;查询具体写法时,可以直接进入相应章节。每章包含概念定义、语法、示例和行为说明。
本书为语言设计稿。用户身份、namespace key、use 形式和阶段命名等基础约定已经确定;函数、类型、数据读取与 UI 的具体写法以本文收录的草案为准。各主题的确定程度统一记录在[规范状态](appendices/specification-status.md),正文不反复叙述设计过程。
## 正文
### 第一部分:语言与程序模型
1. [语言概览](guide/01-overview.md) — 语言用途、核心概念与应用模型。
2. [用户身份](guide/02-user-identity.md) — 唯一用户名、显示名、代码归属与访问身份。
3. [namespace](guide/03-namespaces.md) — key、层级和可见代码视图。
4. [程序结构与导入](guide/04-program-structure.md) — 声明组织、外部上下文和 use。
5. [Preflight 与 inflight](guide/05-preflight-and-inflight.md) — 构建与执行阶段的职责。
### 第二部分:基础语法
6. [词法结构](guide/06-lexical-structure.md) — 标识符、字面量、符号、标点和注释。
7. [类型与类](guide/07-types-and-classes.md) — 类型标注、class 与字段。
8. [表达式与绑定](guide/08-expressions-and-bindings.md) — 求值、运算、成员访问和 let。
9. [函数与调用](guide/09-functions-and-calls.md) — 函数声明、返回值和跨 namespace 组合。
### 第三部分:应用用法
10. [数据读取](guide/10-data-access.md) — 通过类型取得数据及结果状态。
11. [场景与渲染树](guide/11-scenes-and-render-trees.md) — scene、render、节点与嵌套。
12. [UI 组件](guide/12-ui-components.md) — Column、Row、Spacer 和 Text 的参数与效果。
## 附录
- [术语表](appendices/glossary.md) — 语言术语的简要定义与章节索引。
- [形式文法](appendices/formal-grammar.md) — 集中查询 EBNF 产生式。
- [代码存储与视图](appendices/code-storage-and-views.md) — 独立代码段、S3 与索引的组织约定。
- [应用领域](appendices/application-domains.md) — UI、业务逻辑、数据访问和 Agent 的适用范围。
- [规范状态](appendices/specification-status.md) — 已确定约定、语法提案及未定义的边界。
## 记法
源码以 `endorphin` 代码块展示,文法以 `ebnf` 代码块展示。源码中的关键字和名称区分大小写;语言阶段名称固定为 `Preflight` 和 `inflight`。
“代码归属”写在代码块之前,用于说明外部上下文,不属于源码。函数体片段和渲染节点片段会注明使用位置。示例中的用户和 namespace 为示意名称。
正文的函数示例围绕商品定价展开:`alice:shop.pricing` 提供定价逻辑,`bob:shop.checkout` 组合它,`bob:shop.ui` 表达界面;数据读取示例使用 `alice:shop.data`。这些路径表示代码组织,不指定执行位置。