如何使用 javascript 优雅的解析 cpp 的函数声明

2015-11-30 17:18:47 +08:00
 kkhaike

正在做个 ycmd 前端,要解析 ycmd 的代码完成返回,假设有如下返回( cpp ,想了个较复杂的)

const foo::bar::cls * foo::bar::func<T1, T2>( const foo::bar::t1 * p1, const foo::bar::t1 * p2 ) const

需要提取出

return: const foo::bar::cls *
class: foo::bar (func 前的)
text: func<T1, T2>( const foo::bar::t1 * p1, const foo::bar::t1 * p2 )
snippet: func<${1:T1}, ${2:T2}>( ${3:const foo::bar::t1 * p1}, ${4:const foo::bar::t1 * p2} )

请问:如何优雅的用 javascript 解析。
我现在的做法是自己倒着逐字符判断提取,总感觉不够优雅。

PS :有没有可能把类构造声明能一起,就是 return,和 () 内可选

1499 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/240056

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX