Skip to content

Commit f106b96

Browse files
Changes related to initialisation
1 parent 3797390 commit f106b96

File tree

3 files changed

+20
-10
lines changed

3 files changed

+20
-10
lines changed

faster.regex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
(?<fasterdecls>(?(?=(?{push2 \@matches, {}})(?<declbod>((?(<tagend>)(*F))(\s*+(?&typeorqualifortypdf)\s*+
1212
|\s*+\b(?<tagtype>struct|union|enum)\b\s*+(?<identtag>((?&identifierpure))(?{eval {$matches[-1]{strc}=$^N}}))?+\s*+((?&brackets)(?{register_taggable()}))?+\s*+((?<tagend>;)(?{dispatch_file_scope_stm(pos(),$minlen)}))?+))*+
1313
(?(<tagend>)|(?&identoutter)
14-
(\s*+(?&parens)\s*+)*+((,(?&identoutter)(\s*+(?&parens)\s*+)*+)*+
15-
((?![{])((?&parens)|(?&brackets)|(?&strunus)|[^\[\]\(\)\{\}'";])*+;(?{dispatch_file_scope_stm(pos(),$minlen)}))
14+
(\s*+(?&parens)\s*+)*+(?&init_q)?+((,(?&identoutter)(\s*+(?&parens)\s*+)*+(?<init_q>=((?&parens)|(?&brackets)|(?&strunus)|[^\[\]\(\)\{\}'";,])*+)?+)*+
15+
(;(?{dispatch_file_scope_stm(pos(),$minlen)}))
1616
|\s*+(?&brackets)(?{dispatch_file_scope_stm(pos(),$minlen)})))))
1717
\g{declbod}(?<=[};])
1818
(?{pop2 \@matches})|(*F)(?{pop2 \@matches})))

primexpr.regex

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,16 @@
1010
(?{pop2 \@flags})|(?{pop2 \@flags})(*F)))
1111

1212
(?<castexpr>(?(?=((?&typenamerev)))\g{-1}|(?<unaryexpr>(?(?=((?&inner)))\g{-1}
13-
|(?<inparenths>\s*+[(](?&primexprnew)[)]
14-
\s*+))(((\[(?&primexprnew)\](?{call 'subscript'})|[(](?{call 'startfunctioncall'})(?&primexprcall)?+[)]
13+
|(?<inparenths>\s*+\((?&primexprnew)\)
14+
\s*+))(((\[(?&primexprnew)\](?{call 'subscript'})
15+
|\((?{call 'startfunctioncall'})(?&primexprcall)?+\)
1516
(?{call 'endfunctioncall'}))\s*+
16-
|(?<arrowordot>(?<arrowordotraw>[.]|->))(?&identifierminemember)
17-
|(?<postfixarith>(?<postfixarithraw>[+][+]|--)\s*+)
18-
(?{call 'unaryincdec'})))*+
17+
|(?&arrowordot)|(?&postfixarith)))*+
1918
|(?&unary))))
2019

20+
(?<postfixarith>\s*+(?<postfixarithraw>[+][+]|--)\s*+(?{call 'unaryincdec'}))
21+
(?<arrowordot>\s*+(?<arrowordotraw>[.]|->)\s*+(?&identifierminemember))
22+
2123
(?<identifierminemember>\s*+(?<ident>(?&identifierraw_qualified))
2224
(?{call 'memberaccess'})\s*+)
2325

typename.regex

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@
112112
(?<abstdeclorallqualifsdestr>
113113
(?{push2 \@declqualifs, \@{$savedcallouts[-1]}; pop2 \@savedcallouts})
114114

115-
(?(?=(?<declinner>(?&Tasbtdecloutter)(?{call 'enddeclaration'})(?{replayrecord \@declqualifs})(?{call 'endqualifs'})(?&Tabstinitorbitfl)?+))\g{declinner}
115+
(?(?=(?<declinner>(?&Tasbtdecloutter)(?{call 'enddeclaration'})(?{replayrecord \@declqualifs})(?{call 'endqualifs'})
116+
(?&Tabstinitorbitfl)?+(?{call 'announce_decl'})))
117+
\g{declinner}
116118
(?(?{eval {existsflag "outterparams", {"outter" => undef, "optoutter"}} or 0})|(,(?&declinner))*+)|(?(?{print3("dump\n");eval {exists $matches[-1]{strc}} or 0})
117119
(?{print "is rec $recording \n"; call 'check_stray_struc' if (not eval {exists $matches[-1]{enum}})})
118120
|
@@ -166,8 +168,14 @@
166168

167169
(?<abstrbitfield>\s*+:\s*+(?{call 'beginconstantexpr'})(?&assignorsomething)(?{call 'endconstantexpr'}))
168170
(?<designator>\s*+(\[(?&primexprnew)\]|\.\s*+(?<dsig_ident>(?&identifierpure)))(?{call 'go_to_level'})\s*+)
169-
(?<initializer>(?&assignorsomething)(?{call 'init_commit'})|\s*+[{](?{call 'init_go_down_level'})((?&designator)++=)?+(?&initializer)?(,(?&initializer))*+,?+\s*+[}](?{call 'init_go_up_level'})\s*+)
170-
(?<abstrinitialization>=(?{call 'begin_initializer'})(?&initializer)(?{call 'init_end'}))
171+
(?<initializer>(?&assignorsomething)(?{call 'init_commit'})
172+
|\s*+[{](?{call 'init_go_down_level'})((?&designator)++=)?+(?&initializer)?
173+
(,(?&initializer))*+,?+\s*+[}](?{call 'init_go_up_level'})\s*+)
174+
(?<abstrinitialization>=(?{call 'begin_initializer'})
175+
(?# Below allow string literal not to be converted)
176+
(?(?=((?&stringlit)))\g{-1}|(?&initializer))
177+
(?{call 'init_end'})
178+
)
171179

172180
(?<add_ident_to_enum_def>\s*+(?<identlasttag>(?&identifierraw_qualified))(?{call 'add_ident_to_enum_def'})\s*+)
173181

0 commit comments

Comments
 (0)