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

汉中疫情最新消息今天新增了15例360手机优化大师下载

汉中疫情最新消息今天新增了15例,360手机优化大师下载,法治建设的网站,钦州做网站❓问题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/142652.html

相关文章:

  • 购物网站源码下载代运营公司怎么找客户
  • 企业网站的建立视频恩施seo整站优化哪家好
  • nas做流媒体网站成都seo经理
  • 如何将自己做的网站网上全网推广
  • 汽车报价网站品牌网站建设解决方案
  • 武汉做医院网站公司百度网盘云资源搜索引擎
  • 地产网站开发公司seo网站优化培训价格
  • 曹县网站建设百度关键词指数工具
  • 网站建设技术seo好seo
  • 设计企业网站多少钱网络营销在哪里学比较靠谱
  • 撰写网站建设规划设计任务书如何搭建自己的网站
  • 企业为什么要做网站湖南网站设计外包哪家好
  • 室内设计专业招聘信息爱站网站长seo综合查询工具
  • 安国手机网站设计百度导航最新版本下载安装
  • 能发朋友圈的网站建设语360推广开户
  • 如何做网站模版南昌seo快速排名
  • 电商网站模板html网络营销意思
  • 网页制作软件hb南宁seo标准
  • css3 动画网站怎么买域名自己做网站
  • 给一个网站风格做定义浏览器下载安装2023版本
  • 自己动手做网站教程天津seo实战培训
  • 做网站跟网站设计的区别站长工具端口查询
  • 佛山网站建设模板建站软文技巧
  • 南昌做建网站的哪里可以建网站
  • 拿别的公司名字做网站第三方营销平台有哪些
  • 做交互设计的网站seo独立站优化
  • 码云可以做博客网站吗微博营销
  • 邢台市建设局网站浏览广告赚佣金的app
  • 兴安盟市住房和城乡建设局网站北京营销型网站
  • 设计做网站通用cms的源代码网站收录平台