Javascript 如何使用parsimmon.js解析jsDoc注释?
我想为Javascript 如何使用parsimmon.js解析jsDoc注释?,javascript,typescript,parsing,jsdoc,Javascript,Typescript,Parsing,Jsdoc,我想为jsDoc和自定义标记编写一个解析器,所以我用(“一个用于javascript的一元LL(无限)解析器组合器库”)做了一个示例 但我有两个错误 从“parsimmon”以P的形式导入* const slotJsDoc1='@slot这是我的第一个插槽'; const slotJsDoc2='@slot sName-这是第二个插槽'; const slotJsDoc3='@slot“sName sName”-这是第二个slot'; 常量slotTag:P.Parser= P.regexp(/
jsDoc
和自定义标记编写一个解析器,所以我用(“一个用于javascript的一元LL(无限)解析器组合器库”)做了一个示例
但我有两个错误
从“parsimmon”以P的形式导入*
const slotJsDoc1='@slot这是我的第一个插槽';
const slotJsDoc2='@slot sName-这是第二个插槽';
const slotJsDoc3='@slot“sName sName”-这是第二个slot';
常量slotTag:P.Parser=
P.regexp(/@slot/)
.map(s=>String(s));
常量slotWholeDescription:P.Parser=
P.regexp(/.*/)
.map(s=>String(s));
常量slotDescription:P.解析器=
P.regexp(/-.*/)
.map(s=>String(s));
const slotSingleName:P.Parser=
P.regexp(/[^\s]+/)
.map(s=>String(s));
常量slotMultipleNames:P.Parser=
P.regexp(/\“*\”/)
.map(s=>String(s));
const slotName:P.Parser=P.alt(slotMultipleNames,slotinglename);
const slotJsDocType1:P.解析器
错误消失了,但我需要name
作为分隔值,而不是description
中
name:'sName',
姓名:“斯奈姆·斯奈姆”
如果将插槽名称定义为非空白,将插槽描述定义为/-./
,则插槽和-
之间的空间将不匹配。。。在slotDescription regexp前面添加空格可以解决您的问题吗?我懒得设置一个环境来测试…我不能告诉你在截图上改变了什么,请编辑问题的文本;slotName和slotDescription之间仍然没有空格。。