From de180356bc0f4acb8523c53e425d28975d599600 Mon Sep 17 00:00:00 2001 From: jilen Date: Tue, 10 Dec 2024 11:50:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index be1eb92..de83bb9 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,25 @@ private def compileImpl(x: Expr[Dsl])(using Quotes): Expr[Option[String]] = { ``` 如上述代码所示,只要提供 `FromExpr[Dsl]` 就可以通过 `x.value` 在编译期获取到值 -## Function parsing +## 函数解析 `scala` 当前没有对函数进行模式匹配简单方法,所以还是只能通过解析 Ast 来实现,或者如 `slick` 那样通过操作符重载实现 + + +## 待办事项 ++ [x] 基础 Ast 及相关操作 ++ [x] 验证 `inline` 和 `FromExpr` 是否生效 ++ [ ] 验证 `lift` / `liftCaseClass` 如何处理 ++ [ ] 验证 `Insert/Update` 实现 ++ [ ] DSL + - [x] Map + - [ ] Filter/FlatMap/ConcatMap/Union + - [ ] Join + - [ ] GroupBy/Aggeration ++ [ ] 函数解析 + - [x] Ident + - [x] Property + - [ ] BinaryOperation + - [ ] UnaryOperation + - [ ] CaseClass + - [ ] Tuple