DTC: Rewrite the propdata and propdataprefix rules.
PATCH 1/1 DTC: Rewrite the propdata and propdataprefix rules.
After staring at these two rules for a bit, and not quite groking them, I rewrote them into something I think is a bit clearer. With any luck, it's the same language still.
---
You be the judge too!
dtc-parser.y | 31 ++++++++++++++----------------- 1 files changed, 14 insertions(+), 17 deletions(-)
dtc-parser.y +14 -17
@@ -59,7 +59,6 @@ extern struct boot_info *the_boot_info; %token <str> DT_REF %type <data> propdata -%type <data> propdataprefix %type <re> memreserve %type <re> memreserves %type <cbase> opt_cell_base
@@ -143,37 +142,35 @@ propdef: ; propdata: - propdataprefix DT_STRING + DT_STRING { - $$ = data_merge($1, $2); + $$ = data_merge(empty_data, $1); } - | propdataprefix '<' celllist '>' + | '<' celllist '>' { - $$ = data_merge(data_append_align($1, - sizeof(cell_t)), $3); + $$ = data_merge(data_append_align(empty_data, + sizeof(cell_t)), $2); } - | propdataprefix '[' bytestring ']' + | '[' bytestring ']' { - $$ = data_merge($1, $3); + $$ = data_merge(empty_data, $2); } | propdata DT_LABEL { $$ = data_add_label($1, $2); } - ; - -propdataprefix: - /* empty */ + | propdata ',' DT_STRING { - $$ = empty_data; + $$ = data_merge($1, $3); } - | propdata ',' + | propdata ',' '<' celllist '>' { - $$ = $1; + $$ = data_merge(data_append_align($1, + sizeof(cell_t)), $4); } - | propdataprefix DT_LABEL + | propdata ',' '[' bytestring ']' { - $$ = data_add_label($1, $2); + $$ = data_merge($1, $4); } ;
Signature · 1 line
1.5.3.1.139.g9346b
So, like, the other day Jon Loeliger mumbled:
Quoted 9 lines
After staring at these two rules for a bit, and not quite groking them, I rewrote them into something I think is a bit clearer. With any luck, it's the same language still.
Signed-off-by Jon Loeliger <[email protected]>---
You be the judge too!
Yeah, so, I botched this one. It's NOT the same language, so don't apply it or think about it at all...
jdl
Quoted 6 lines · Jon Loeliger
So, like, the other day Jon Loeliger mumbled:
Quoted 5 lines
After staring at these two rules for a bit, and not quite groking them, I rewrote them into something I think is a bit clearer. With any luck, it's the same language still.
Quoted 7 lines
Quoted 4 lines
Signed-off-by Jon Loeliger <[email protected]>---
You be the judge too!
Yeah, so, I botched this one. It's NOT the same language, so don't apply it or think about it at all...
Yeah, I remember finding the whole propdataprefix confusing myself. But the form was suggested by someone (forgotten whom now), and I never did figure out a better way of doing it.
Signature · 4 lines
David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson