jsdoc: scripts for generating node.js documentation

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
Mihai Tudor Panu
2015-05-20 10:38:19 -07:00
parent 1079cb7cdd
commit 65a19d1779
9 changed files with 1135 additions and 0 deletions

View File

@ -0,0 +1,45 @@
document
= _ ignore* _ "<doxygen " _ attr:attr* _ ">" body:elements _ "</doxygen>" _ { return body; }
elements
= element*
element
= _ "<" startTag:id _ attr:attr* _ ">" _ children:elements _ "</" endTag:id ">" _ {
if (startTag != endTag) {
throw new Error("Expected </" + startTag + "> but </" + endTag + "> found.");
}
return {name: startTag, attr: attr, children: children }
}
/ "<" tag:id _ attr:attr* _ "/>" _ {
return {name: tag, attr: attr }
}
/ _ text:text _ { return text }
ignore
= "<?xml" _ attr* _ "?>" { return }
attr
= name:id _ "=" _ value:string { return { name:name, value:value } }
string
= '"' '"' _ { return ""; }
/ "'" "'" _ { return ""; }
/ '"' text:quoted '"' _ { return text; }
/ "'" text:quoted "'" _ { return text; }
quoted
= chars:[^<>'" \t\n\r]+ { return chars.join(""); }
text
= chars:[^<> \t\n\r]+ { return chars.join(""); }
id
= chars:[^<>/'"=? \t\n\r]+ { return chars.join(""); }
_ "whitespace"
= whitespace*
whitespace
= [ \t\n\r]