[obsidian] vault backup: 2025-09-17 10:36:49[
All checks were successful
Build / build (push) Successful in 12m36s

This commit is contained in:
2025-09-17 10:36:49 +09:00
parent 2b432e09cc
commit b7458b9624
4 changed files with 47 additions and 0 deletions

4
content/JavaScript.md Normal file
View File

@@ -0,0 +1,4 @@
---
date: 2025-09-17 09:55
---
#stub

10
content/Lady Deirdre.md Normal file
View 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
View 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を返す

View File

@@ -0,0 +1,4 @@
---
date: 2025-09-17 09:55
---
#stub