[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