56 lines
4.4 KiB
Markdown
56 lines
4.4 KiB
Markdown
# Endorphin 语言文档
|
||
|
||
Endorphin 是一门面向云原生应用的编程语言,使用统一的资源与语言模型描述前端界面、数据结构、后端逻辑和 agent。基础内容由平台管理,变量引用资源,开发者和 agent 编写声明、表达式与调用关系,平台解释执行代码,客户端根据资源或结果的类型呈现内容。
|
||
|
||
## 阅读指南
|
||
|
||
正文按概念的依赖顺序编排。首次阅读从第 1 章开始;查询具体写法时,可以直接进入相应章节。每章包含概念定义、语法、示例和行为说明。
|
||
|
||
本书为语言设计稿。资源归属 workspace,key 使用 workspace handle 与 namespace 路径;用户以成员角色参与协作。use 形式、整体授权边界和阶段命名等基础约定已经确定。权限操作区分资源编辑与程序使用,函数、类型、数据读取与 UI 的具体写法以本文收录的草案为准。各主题的确定程度统一记录在[规范状态](appendices/specification-status.md),正文不反复叙述设计过程。
|
||
|
||
## 正文
|
||
|
||
### 第一部分:语言与程序模型
|
||
|
||
1. [语言概览](guide/01-overview.md) — 语言用途、核心概念与应用模型。
|
||
2. [用户身份与 workspace 权限](guide/02-user-identity.md) — 用户、workspace、成员角色、rwx 与代码可视域。
|
||
3. [namespace](guide/03-namespaces.md) — Workspace 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-resource-access-and-presentation.md) — 查看函数、参数就绪、调用结果与按类型呈现。
|
||
12. [UI 组件](guide/12-ui-components.md) — Column、Row、Spacer 和 Text 的参数与效果。
|
||
13. [Agent](guide/13-agents.md) — 共有成员、tools、memory、state、路由、中断与上下文管理。
|
||
|
||
## 附录
|
||
|
||
- [术语表](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`。
|
||
|
||
“代码归属”写在代码块之前,用于说明外部上下文,不属于源码。函数体片段会注明使用位置,资源访问与界面结构示意使用 `text` 代码块,不表示新增源码语法。示例中的用户和 namespace 为示意名称。
|
||
|
||
正文的函数示例围绕商品定价展开:`atelier:shop.pricing` 提供定价逻辑,`market:shop.checkout` 组合它,`market:shop.ui` 表达界面;数据读取示例使用 `atelier:shop.data`。atelier 与 market 是 workspace handle,后面的路径表示代码组织,不指定执行位置。
|
||
|
||
## 文档维护入口
|
||
|
||
编写或修改本书时,从[文档编写手册](authoring/README.md)开始,并按 [endor-docs skill](authoring/SKILL.md)选择本次任务。手册提供任务流程、语言核对方法、完整改写案例、稳定编号规则和验收标准。它服务文档作者;语言学习仍按上面的正文目录进行。
|
||
|
||
[贡献与跨电脑协作](CONTRIBUTING.md)说明维护约定和本地检查;[检查工具](tools/README.md)提供无需第三方依赖的结构验证。
|