mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 09:46:20 +00:00
tool/parse_cxx: const var decl, initializers
This patch handles a few corner cases that appear in the headers of Genode 19.05, in particular the new client-side block API in 'block_session/connection.h'.
This commit is contained in:
parent
b359ec14a8
commit
34a711b439
@ -592,7 +592,7 @@ extract argname {
|
||||
extract argtype {^(§(argmodifier|keyunsigned)\d+°\s*)*(§(identifier|keytypename|varargs|keyunsigned)\d+°)(\s*|(§(amper|and|argmodifier)\d+°)|(§star\d+°))*(§argmodifier\d+°\s*)*(§varargs\d+°)?} argdecl
|
||||
|
||||
# extract typedefs
|
||||
extract typedef {(§mlcomment\d+° *\n[ \t]*)?§keytypedef\d+°(\s*§(identifier|keyunsigned)\d+°)+\s*;} {content classblock block}
|
||||
extract typedef {(§mlcomment\d+° *\n[ \t]*)?§keytypedef\d+°(\s*§(identifier|keyunsigned|keytypename)\d+°)+\s*;} {content classblock block}
|
||||
extract typename {§identifier\d+°(?=;)} typedef
|
||||
extract identifier {(\s*§(identifier|keyunsigned)\d+°){2,}} typedef
|
||||
extract identifier {\s*§keyunsigned\d+°} typedef
|
||||
@ -601,7 +601,7 @@ extract identifier {\s*
|
||||
extract vardecl {(§(modifier|keyunsigned)\d+°\s*)*(§(identifier|keyunsigned)\d+°)((\s|(§amper\d+°)|(§star\d+°))*(§modifier\d+°\s*)*(§funcptr\d+°)\s*(:\s*§identifier\d+°)?\s*(§assign\d+°[^;]*?)?\s*(§comma\d+°)?\s*)+;} {content classblock block}
|
||||
|
||||
# extract variable declarations (type + any number of comma-separated variables + optional tailing comment)
|
||||
extract vardecl {(§(modifier|keyunsigned)\d+°\s*)*(§(identifier|keyunsigned)\d+°)((\s|(§amper\d+°)|(§star\d+°))*(§modifier\d+°\s*)*(§(identifier|array)\d+°)\s*(:\s*§identifier\d+°)?\s*(§assign\d+°[^;]*?)?\s*(§comma\d+°)?\s*)+;} {content classblock block}
|
||||
extract vardecl {(§(modifier|keyunsigned)\d+°\s*)*(§(identifier|keyunsigned)\d+°)((\s|(§amper\d+°)|(§star\d+°))*(§(modifier|keyconst)\d+°\s*)*(§(identifier|array)\d+°)\s*(:\s*§identifier\d+°)?\s*(§assign\d+°[^;]*?)?(§block\d+°)?\s*(§comma\d+°)?\s*)+;} {content classblock block}
|
||||
|
||||
# extract commented variable declaration
|
||||
extract commentedvardecl {§vardecl\d+°\s*§m?lcomment\d+°(\s*§lcomment\d°)*} {content classblock block}
|
||||
|
Loading…
x
Reference in New Issue
Block a user