懂的自然懂

20 篇文章 0 订阅
        function        <- memberFunction / constructor
        memberFunction  <- prefix returnType functionName template* '(' (',' / parameter)* ')' suffix
        constructor     <- 'explicit'? functionName '(' (',' / parameter)* ')' 'noexcept'?

        functionName    <- (operator / symbol)
        operator        <- < 'operator'('()' / [!+-=*/\\<>&]{1,2}) >

        prefix          <- < 'inline'? 'static'? 'explicit'? 'virtual'? >
        suffix          <- 'const'? 'noexcept'? 'mutable'? ('='[ ]?'0')?

        returnType      <- (templatedType / type)

        templatedType   <- 'const'? symbol '<' (templatedType / type / ',')* '>' ([ &*]+)?

        template        <- '<' (type / template)* '>'

        parameter       <- (gParameter / nonParameter)
        gParameter      <- (templatedType / type) (symbolWithVal / symbol)
        nonParameter    <- type

        type            <- <'const'? [ ]* [0-9a-zA-Z_:&*]+ ([ &*]+)?>
        symbol          <- <[a-zA-Z_][0-9a-zA-Z_:]*>

        symbolWithVal   <- symbol ('=' lexValue)

        lexValue        <- ('{' (lexValue / ',' / value)* '}') / value
        value           <- string / number / constexpr 

        string          <- '"' (!'"' .)* '"'
        constexpr       <- < ( templatedType / type ) ('::' symbol '()')? >
        number          <- < [0-9]+ '.'? [0-9]* [uf]? >

        %whitespace     <- [ \t]*
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值