个人简介

Echo Blog


江湖无名 安心练剑
  • Tree-sitter 文档-05-高级解析(Advanced Parsing)
    高级解析(Advanced Parsing) 编辑(Editing) 在文本编辑器等应用中,当源代码发生变化后,通常需要重新解析文件。 Tree-sitter 专门针对这种场景进行了高效设计。 该过程需要两个步骤。 第一步:编辑语法树 首先,需要编辑已有的语法树,使节点的范围与修改后的源码保持同步。 typedef struct { uint32_t start_byt...
    2026-01-05 13:01:55 | AST
  • Tree-sitter 文档-04-基础解析(Basic Parsing)
    基础解析(Basic Parsing) 提供源代码(Providing the Code) 在上一章节的示例中,我们使用 ts_parser_parse_string 函数解析存储在普通字符串中的源代码: TSTree *ts_parser_parse_string( TSParser *self, const TSTree *old_tree, const char ...
    2026-01-05 13:01:55 | AST
  • Tree-sitter 文档-03-入门(Getting Started)
    ps 这里可以跳过,因为很多项目存在编译好的包。 入门(Getting Started) 构建库(Building the Library) 在 POSIX 系统上构建 Tree-sitter 库,只需在 Tree-sitter 目录中运行: make 该命令将生成: 一个静态库 libtree-sitter.a 以及对应的动态库文件 或者,你也可以将该库集...
    2026-01-05 13:01:55 | AST
  • Tree-sitter 文档-02-使用解析器(Using Parsers)
    Tree-sitter 使用解析器(Using Parsers) 本指南介绍 Tree-sitter 的核心使用概念,这些概念适用于所有编程语言。 虽然本文档包含一些仅与 C 语言相关的细节(这些内容对于直接使用 C API 或创建新的语言绑定非常重要),但其核心思想在所有语言绑定中都是一致的。 解析功能的实现方式 Tree-sitter 的解析功能通过 C API 提供。 ...
    2026-01-05 13:01:55 | AST
  • Tree-sitter 文档-01-Tree-sitter 简介(Introduction)
    Tree-sitter 简介(Introduction) Tree-sitter 是一个 解析器生成工具(parser generator) 与 增量解析库(incremental parsing library)。 它能够: 为源代码文件构建 具体语法树(Concrete Syntax Tree,CST) 并在源代码被编辑时,高效地更新语法树 Tree-sitter 的...
    2026-01-05 13:01:55 | AST
  • tree-sitter 常用的查询表达式汇总 取自 gitnexus 库
    核心参考 tree-sitter-queries.ts 参考这个文件 import { SupportedLanguages } from '../../config/supported-languages.js'; /* * Tree-sitter queries for extracting code definitions. * * Note: Different gr...
    2026-01-05 13:01:55 | AI
  • tree-sitter-java S-expression 表达式查询的例子
    maven 引入 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati...
    2026-01-05 13:01:55 | AI
  • AI 时代为什么还是需要理解语法树?
    Tree Sitter NG Next generation Tree Sitter Java binding. Getting started Add dependencies to your build.gradle or pom.xml. // Gradle dependencies { // add tree sitter implementation 'i...
    2026-01-05 13:01:55 | AI