Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用parsimmon.js解析jsDoc注释?_Javascript_Typescript_Parsing_Jsdoc - Fatal编程技术网

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之间仍然没有空格。。