[obsidian] vault backup: 2025-09-17 10:36:49[
All checks were successful
Build / build (push) Successful in 12m36s
All checks were successful
Build / build (push) Successful in 12m36s
This commit is contained in:
4
content/JavaScript.md
Normal file
4
content/JavaScript.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-09-17 09:55
|
||||
---
|
||||
#stub
|
10
content/Lady Deirdre.md
Normal file
10
content/Lady Deirdre.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
date: 2025-09-17 09:51
|
||||
---
|
||||
#programming
|
||||
|
||||
インクリメンタル、並列対応の[[パーサジェネレータ]]。[[Rust]]のマクロで型安全に文法の定義をできる。
|
||||
|
||||
[Introduction - The Lady Deirdre Guide](https://lady-deirdre.lakhin.com/)
|
||||
|
||||
ただ、オープンソースだがプロプライエタリなライセンス
|
29
content/Tree-Sitter.md
Normal file
29
content/Tree-Sitter.md
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
date: 2025-09-17 09:53
|
||||
---
|
||||
#programming-language
|
||||
|
||||
[Introduction - Tree-sitter](https://tree-sitter.github.io/tree-sitter/)
|
||||
|
||||
モダンな[[パーサジェネレータ]]。
|
||||
|
||||
[[Rust]]で実装されているが、Cライブラリを経由して様々な言語のバインディングが用意されている。
|
||||
|
||||
ただ、言語の文法定義は[[JavaScript]]で行うなどちょっと複雑な作りをしている。
|
||||
|
||||
インクリメンタルな構文解析に対応していることが特徴。
|
||||
|
||||
---
|
||||
|
||||
### 実際に使おうとしてみての感想
|
||||
|
||||
カスタムの構文解析エラーメッセージの定義とかが難しい。これは長年問題になっているみたい
|
||||
|
||||
[Helpful parser error messages · Issue #255 · tree-sitter/tree-sitter · GitHub](https://github.com/tree-sitter/tree-sitter/issues/255)
|
||||
|
||||
---
|
||||
|
||||
Rustのバインディングの問題。
|
||||
|
||||
`kind_id`など多くのAPIがu16でのIDを返す
|
||||
|
4
content/パーサジェネレータ.md
Normal file
4
content/パーサジェネレータ.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
date: 2025-09-17 09:55
|
||||
---
|
||||
#stub
|
Reference in New Issue
Block a user