当前位置: 首页 > wzjs >正文

美国cloudflare服务器网站快速优化排名app

美国cloudflare服务器,网站快速优化排名app,厦门市建设与管理局网站,网站留言效果怎么做❓问题1:grammar.js 不是用正则表达式 /.../ 吗?为什么有 print 这样的字符串? ✅ 回答: grammar.js 分成两类“终结符”表示法: 表达方式含义xxx直接匹配该字符串字面量/regex/匹配符合正则的文本 💡 …

❓问题1:grammar.js 不是用正则表达式 /.../ 吗?为什么有 'print' 这样的字符串?

✅ 回答:

grammar.js 分成两类“终结符”表示法:

表达方式含义
'xxx'直接匹配该字符串字面量
/regex/匹配符合正则的文本

💡 举例说明:

'print'           // 匹配文本里正好是 "print" 这个词
/[a-zA-Z_]+/      // 匹配任何标识符(如变量名)

Tree-sitter 支持 literal 字符串正则表达式,它们有不同的用途:

  • '=''let''function' 等是关键词或符号,通常写成字符串字面量
  • 正则主要用来定义通用格式,比如数字、标识符、字符串、注释

❓问题2:token(...) 有什么用?为什么不用正则就行了?

✅ 核心回答:

你写 /.../ 只是写了个规则,tree-sitter 默认会尝试进一步拆解规则内容

token(...) 的作用是:

告诉 Tree-sitter:这个部分是词法单位,不要对它再做语法结构解析了!


📌 举个例子:

🔴 没有 token 的情况:
number: $ => /\d+\.\d+/

Tree-sitter 会试图把这个规则拆开,比如它会试着把 123.45 拆成:

  • 123
  • .
  • 45

这样它就可能匹配错,或者让你写更多优先级规则去处理冲突,非常麻烦。

✅ 使用 token
number: $ => token(/\d+\.\d+/)

Tree-sitter 就会说:

好的,我不拆了,我直接把 123.45 当成一个整体 number 了!


✅ 总结:token(...) 用于匹配词法单位(不可再拆分的基本块),防止 tree-sitter 把内容继续“语法解析”。


❓那关键词比如 seqchoice 等就不能省略吗?我直接 /regex/ 一行行写正则不行吗?

✅ 回答:

你当然可以全写正则,但:

  • 正则只能写“单个词法单元”,比如标识符、数字、注释等;
  • seqchoice 等是用来构建**语法结构(句法规则)**的。

换句话说:

正则是词法(Lexical),而 seq/choice/... 是句法(Syntactic)


📌 比如:

// 正则可以写变量名
identifier: $ => /[a-zA-Z_][a-zA-Z0-9_]*/// 但你要写 let x = 123; 就必须用结构化方式:
variable_declaration: $ => seq('let',$.identifier,'=',$.number,';'
)

✅ 总结一波三问:

问题回答
grammar.js 只能写 /.../ 吗?为什么还有 '...''...' 是字符串字面量,比如关键字、符号等
为什么还要 token(...),不用正则不行吗?token(...) 告诉 tree-sitter:这是一个不可再分的词法单元
能只写正则不写 seq/choice/optional 吗?正则只能写“单元”,构建结构必须用 seq 等关键词

你现在完全可以尝试自己写个 grammar.js 的小文件啦!想不想我们来练一下,比如:解析 let x = 1; 或者 print("hello")

只要你告诉我你想写哪种结构,我可以边写边讲,完全按你节奏来 😎

http://www.dtcms.com/wzjs/129695.html

相关文章:

  • 北京网站建设石榴汇域名注册新网
  • 网站建设和优化的营销话术公司域名注册步骤
  • 网站模拟效果香飘飘奶茶软文
  • 河南省建设工程招标网辽宁seo推广
  • 常见的网络推广方法有哪些上海百度seo牛巨微
  • 教育类网站建设策划书今日小说排行榜风云榜
  • 网站建设费放什么科目网站的排名优化怎么做
  • 旅游网站设计理念苏州手机关键词优化
  • 南京企业网站产品营销策划
  • 收款后自动发货的网站是怎么做的热狗seo顾问
  • 禁止粘贴的网站seo网站推广软件排名
  • 用java做的游戏下载网站有哪些关键词seo排名优化
  • 专业合肥网站建设网络营销主要学什么
  • 哪个网站能接效果图做招商外包公司
  • 海豚一键做淘宝网站怎样推广网站
  • dw网页制作三个页面跳转百度seo如何做
  • wdcp 配置网站乌海网站seo
  • 网站seo综合公司查询网
  • 游戏开发需要具备哪些技术河源seo
  • 做树状图的网站近期的新闻消息
  • 南昌网站seo技术外包网站有哪些
  • 网页素材免费下载怎么网站排名seo
  • h5响应式网站建设厨师培训机构
  • 随州北京网站建设优化营商环境
  • 安装宝塔之后wordpress首页打不开优化网站制作方法大全
  • 做网站公司怎么赚钱吗企业网站推广方法
  • 网站设计思路文案范文世界十大搜索引擎排名
  • 英文响应式网站建设百度保障中心人工电话
  • 做网站的系统设计跨境电商seo什么意思
  • 定制app软件开发怎么优化自己网站的关键词