Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fabric-scoping support in IDL parsing #20819

Merged
merged 9 commits into from
Jul 18, 2022

Conversation

andy31415
Copy link
Contributor

@andy31415 andy31415 commented Jul 15, 2022

Problem

Need fabric scope support

Change overview

fabric attribute
fabric command

kept lalr parsing because it is fast, so this means:

  • fabric readonly attribute is ok, but readonly fabric attribute is not.
  • fabric timed command is ok, but timed fabric command is not

Basically fabric must come first.

Testing

Unit tests

@github-actions
Copy link

github-actions bot commented Jul 15, 2022

PR #20819: Size comparison from c50bacc to 0c33bb6

Increases (3 builds for cc13x2_26x2, esp32, nrfconnect)
platform target config section c50bacc 0c33bb6 change % change
cc13x2_26x2 pump-app LP_CC2652R7 (read/write) 162084 162092 8 0.0
esp32 all-clusters-app c3devkit (read only) 1020650 1020654 4 0.0
.flash.text 1020650 1020654 4 0.0
nrfconnect all-clusters-minimal-app nrf52840dk_nrf52840 text 801484 801488 4 0.0
Decreases (2 builds for cc13x2_26x2, telink)
platform target config section c50bacc 0c33bb6 change % change
cc13x2_26x2 pump-app LP_CC2652R7 (read only) 680179 680171 -8 -0.0
.text 590964 590956 -8 -0.0
telink lighting-app tlsr9518adk80d text 582584 582582 -2 -0.0
Full report (32 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section c50bacc 0c33bb6 change % change
bl602 lighting-app bl602 (read/write) 1398434 1398434 0 0.0
.bss 116978 116978 0 0.0
.data 4480 4480 0 0.0
.text 1059396 1059396 0 0.0
bl602+rpc (read/write) 1443858 1443858 0 0.0
.bss 124418 124418 0 0.0
.data 4600 4600 0 0.0
.text 1091080 1091080 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 667639 667639 0 0.0
(read/write) 183600 183600 0 0.0
.bss 74132 74132 0 0.0
.data 3356 3356 0 0.0
.rodata 88175 88175 0 0.0
.text 579148 579148 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 633455 633455 0 0.0
(read/write) 157700 157700 0 0.0
.bss 73428 73428 0 0.0
.data 3356 3356 0 0.0
.rodata 77415 77415 0 0.0
.text 555716 555716 0 0.0
lock-ftd LP_CC2652R7 (read only) 671035 671035 0 0.0
(read/write) 170380 170380 0 0.0
.bss 71196 71196 0 0.0
.data 3280 3280 0 0.0
.rodata 76315 76315 0 0.0
.text 594240 594240 0 0.0
lock-mtd LP_CC2652R7 (read only) 653319 653319 0 0.0
(read/write) 183784 183784 0 0.0
.bss 66884 66884 0 0.0
.data 3280 3280 0 0.0
.rodata 101047 101047 0 0.0
.text 551792 551792 0 0.0
pump-app LP_CC2652R7 (read only) 680179 680171 -8 -0.0
(read/write) 162084 162092 8 0.0
.bss 71276 71276 0 0.0
.data 3280 3280 0 0.0
.rodata 88731 88731 0 0.0
.text 590964 590956 -8 -0.0
pump-controller-app LP_CC2652R7 (read only) 665987 665987 0 0.0
(read/write) 176396 176396 0 0.0
.bss 71396 71396 0 0.0
.data 3276 3276 0 0.0
.rodata 84595 84595 0 0.0
.text 580912 580912 0 0.0
shell LP_CC2652R7 (read only) 660130 660130 0 0.0
(read/write) 186612 186612 0 0.0
.bss 76436 76436 0 0.0
.data 3360 3360 0 0.0
.rodata 84954 84954 0 0.0
.text 574860 574860 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 581502 581502 0 0.0
.app_xip_area 460208 460208 0 0.0
.bss 64232 64232 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 587466 587466 0 0.0
.app_xip_area 461444 461444 0 0.0
.bss 68960 68960 0 0.0
.data 720 720 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 584850 584850 0 0.0
.app_xip_area 464404 464404 0 0.0
.bss 63440 63440 0 0.0
.data 660 660 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1083832 1083832 0 0.0
.bss 133044 133044 0 0.0
.data 2048 2048 0 0.0
.text 948720 948720 0 0.0
BRD4161A+rpc (read/write) 1138164 1138164 0 0.0
.bss 149724 149724 0 0.0
.data 2260 2260 0 0.0
.text 986156 986156 0 0.0
BRD4161A+rs911x (read/write) 949208 949208 0 0.0
.bss 140768 140768 0 0.0
.data 2048 2048 0 0.0
.text 806372 806372 0 0.0
lock-app BRD4161A+wf200 (read/write) 1127436 1127436 0 0.0
.bss 144136 144136 0 0.0
.data 2056 2056 0 0.0
.text 981224 981224 0 0.0
window-app BRD4161A (read/write) 1077636 1077636 0 0.0
.bss 134516 134516 0 0.0
.data 2076 2076 0 0.0
.text 941024 941024 0 0.0
esp32 all-clusters-app c3devkit (read only) 1020650 1020654 4 0.0
(read/write) 1485874 1485874 0 0.0
.dram0.bss 70080 70080 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 215760 215760 0 0.0
.flash.text 1020650 1020654 4 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1074703 1074703 0 0.0
(read/write) 487928 487928 0 0.0
.dram0.bss 75600 75600 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 246188 246188 0 0.0
.flash.text 1069319 1069319 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 660236 660236 0 0.0
.bss 69540 69540 0 0.0
.data 1992 1992 0 0.0
.text 582904 582904 0 0.0
lock k32w061+release (read/write) 687100 687100 0 0.0
.bss 70004 70004 0 0.0
.data 2004 2004 0 0.0
.text 609292 609292 0 0.0
linux chip-tool-ipv6only arm64 (read only) 9935228 9935228 0 0.0
(read/write) 683057 683057 0 0.0
.bss 42961 42961 0 0.0
.data 3304 3304 0 0.0
.data.rel.ro 619344 619344 0 0.0
.dynamic 528 528 0 0.0
.got 13528 13528 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 476060 476060 0 0.0
.text 7906276 7906276 0 0.0
thermostat-no-ble arm64 (read only) 2597300 2597300 0 0.0
(read/write) 158257 158257 0 0.0
.bss 65249 65249 0 0.0
.data 1704 1704 0 0.0
.data.rel.ro 83216 83216 0 0.0
.dynamic 528 528 0 0.0
.got 5072 5072 0 0.0
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 165668 165668 0 0.0
.text 2191888 2191888 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2448608 2448608 0 0.0
.bss 213940 213940 0 0.0
.data 5872 5872 0 0.0
.text 1411252 1411252 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1175879 1175879 0 0.0
bss 142900 142900 0 0.0
rodata 142064 142064 0 0.0
text 812012 812012 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1156107 1156107 0 0.0
bss 142136 142136 0 0.0
rodata 133612 133612 0 0.0
text 801484 801488 4 0.0
p6 all-clusters-app default (read/write) 2567272 2567272 0 0.0
.bss 149120 149120 0 0.0
.data 2776 2776 0 0.0
.text 1525536 1525536 0 0.0
all-clusters-minimal-app default (read/write) 2512568 2512568 0 0.0
.bss 148400 148400 0 0.0
.data 2776 2776 0 0.0
.text 1470832 1470832 0 0.0
light-app default (read/write) 2442528 2442528 0 0.0
.bss 140456 140456 0 0.0
.data 2592 2592 0 0.0
.text 1400792 1400792 0 0.0
lock-app default (read/write) 2469656 2469656 0 0.0
.bss 140304 140304 0 0.0
.data 2600 2600 0 0.0
.text 1427920 1427920 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 798068 798068 0 0.0
bss 70576 70576 0 0.0
noinit 40416 40416 0 0.0
text 566258 566258 0 0.0
lighting-app tlsr9518adk80d (read/write) 817892 817892 0 0.0
bss 71420 71420 0 0.0
noinit 40416 40416 0 0.0
text 582584 582582 -2 -0.0

@github-actions
Copy link

github-actions bot commented Jul 18, 2022

PR #20819: Size comparison from e4cfa0a to 0c4e17b

Increases (2 builds for cyw30739, esp32)
platform target config section e4cfa0a 0c4e17bc change % change
cyw30739 ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 585258 585266 8 0.0
.app_xip_area 464668 464676 8 0.0
esp32 all-clusters-app c3devkit (read only) 1021566 1021570 4 0.0
.flash.text 1021566 1021570 4 0.0
Decreases (2 builds for bl602, telink)
platform target config section e4cfa0a 0c4e17bc change % change
bl602 lighting-app bl602 (read/write) 1383418 1383410 -8 -0.0
.text 1053500 1053496 -4 -0.0
telink lighting-app tlsr9518adk80d text 583148 583146 -2 -0.0
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section e4cfa0a 0c4e17bc change % change
bl602 lighting-app bl602 (read/write) 1383418 1383410 -8 -0.0
.bss 116978 116978 0 0.0
.data 4480 4480 0 0.0
.text 1053500 1053496 -4 -0.0
bl602+rpc (read/write) 1428826 1428826 0 0.0
.bss 124418 124418 0 0.0
.data 4600 4600 0 0.0
.text 1085156 1085156 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 668399 668399 0 0.0
(read/write) 182840 182840 0 0.0
.bss 74132 74132 0 0.0
.data 3356 3356 0 0.0
.rodata 88271 88271 0 0.0
.text 579812 579812 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 634039 634039 0 0.0
(read/write) 157700 157700 0 0.0
.bss 73428 73428 0 0.0
.data 3356 3356 0 0.0
.rodata 77511 77511 0 0.0
.text 556204 556204 0 0.0
lock-ftd LP_CC2652R7 (read only) 671619 671619 0 0.0
(read/write) 169796 169796 0 0.0
.bss 71196 71196 0 0.0
.data 3280 3280 0 0.0
.rodata 76411 76411 0 0.0
.text 594728 594728 0 0.0
lock-mtd LP_CC2652R7 (read only) 653871 653871 0 0.0
(read/write) 183232 183232 0 0.0
.bss 66884 66884 0 0.0
.data 3280 3280 0 0.0
.rodata 101151 101151 0 0.0
.text 552240 552240 0 0.0
pump-app LP_CC2652R7 (read only) 680587 680587 0 0.0
(read/write) 161676 161676 0 0.0
.bss 71276 71276 0 0.0
.data 3280 3280 0 0.0
.rodata 88771 88771 0 0.0
.text 591332 591332 0 0.0
pump-controller-app LP_CC2652R7 (read only) 666387 666387 0 0.0
(read/write) 175996 175996 0 0.0
.bss 71396 71396 0 0.0
.data 3276 3276 0 0.0
.rodata 84627 84627 0 0.0
.text 581280 581280 0 0.0
shell LP_CC2652R7 (read only) 660890 660890 0 0.0
(read/write) 185852 185852 0 0.0
.bss 76436 76436 0 0.0
.data 3360 3360 0 0.0
.rodata 85058 85058 0 0.0
.text 575516 575516 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 581990 581990 0 0.0
.app_xip_area 460552 460552 0 0.0
.bss 64232 64232 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 587906 587906 0 0.0
.app_xip_area 461740 461740 0 0.0
.bss 68960 68960 0 0.0
.data 720 720 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 585258 585266 8 0.0
.app_xip_area 464668 464676 8 0.0
.bss 63440 63440 0 0.0
.data 660 660 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1084640 1084640 0 0.0
.bss 133044 133044 0 0.0
.data 2048 2048 0 0.0
.text 949528 949528 0 0.0
BRD4161A+rpc (read/write) 1138932 1138932 0 0.0
.bss 149724 149724 0 0.0
.data 2260 2260 0 0.0
.text 986924 986924 0 0.0
BRD4161A+rs911x (read/write) 950008 950008 0 0.0
.bss 140768 140768 0 0.0
.data 2048 2048 0 0.0
.text 807172 807172 0 0.0
lock-app BRD4161A+wf200 (read/write) 1127788 1127788 0 0.0
.bss 144136 144136 0 0.0
.data 2056 2056 0 0.0
.text 981576 981576 0 0.0
window-app BRD4161A (read/write) 1078132 1078132 0 0.0
.bss 134516 134516 0 0.0
.data 2076 2076 0 0.0
.text 941520 941520 0 0.0
esp32 all-clusters-app c3devkit (read only) 1021566 1021570 4 0.0
(read/write) 1485978 1485978 0 0.0
.dram0.bss 70080 70080 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 215864 215864 0 0.0
.flash.text 1021566 1021570 4 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1075299 1075299 0 0.0
(read/write) 488024 488024 0 0.0
.dram0.bss 75600 75600 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 246284 246284 0 0.0
.flash.text 1069915 1069915 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 660748 660748 0 0.0
.bss 69540 69540 0 0.0
.data 1992 1992 0 0.0
.text 583416 583416 0 0.0
lock k32w061+release (read/write) 687700 687700 0 0.0
.bss 70004 70004 0 0.0
.data 2004 2004 0 0.0
.text 609892 609892 0 0.0
linux all-clusters-app debug (read only) 2972073 2972073 0 0.0
(read/write) 155016 155016 0 0.0
.bss 61664 61664 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 85048 85048 0 0.0
.dynamic 608 608 0 0.0
.got 4560 4560 0 0.0
.init 27 27 0 0.0
.init_array 1056 1056 0 0.0
.rodata 264637 264637 0 0.0
.text 2529842 2529842 0 0.0
all-clusters-minimal-app debug (read only) 2818713 2818713 0 0.0
(read/write) 146688 146688 0 0.0
.bss 60864 60864 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 77608 77608 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 265597 265597 0 0.0
.text 2378178 2378178 0 0.0
bridge-app debug+rpc (read only) 2318985 2318985 0 0.0
(read/write) 125504 125504 0 0.0
.bss 48928 48928 0 0.0
.data 3824 3824 0 0.0
.data.rel.ro 66984 66984 0 0.0
.dynamic 608 608 0 0.0
.got 4384 4384 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 198208 198208 0 0.0
.text 1959138 1959138 0 0.0
chip-tool debug (read only) 10278873 10278873 0 0.0
(read/write) 628544 628544 0 0.0
.bss 24728 24728 0 0.0
.data 3234 3234 0 0.0
.data.rel.ro 594208 594208 0 0.0
.dynamic 608 608 0 0.0
.got 5088 5088 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 514101 514101 0 0.0
.text 8318980 8318980 0 0.0
chip-tool-ipv6only arm64 (read only) 10021084 10021084 0 0.0
(read/write) 693617 693617 0 0.0
.bss 42961 42961 0 0.0
.data 3304 3304 0 0.0
.data.rel.ro 629816 629816 0 0.0
.dynamic 528 528 0 0.0
.got 13616 13616 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 478236 478236 0 0.0
.text 7965140 7965140 0 0.0
lighting-app debug+rpc (read only) 2556761 2556761 0 0.0
(read/write) 129528 129528 0 0.0
.bss 49440 49440 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72136 72136 0 0.0
.dynamic 608 608 0 0.0
.got 4384 4384 0 0.0
.init 27 27 0 0.0
.init_array 816 816 0 0.0
.rodata 214056 214056 0 0.0
.text 2172834 2172834 0 0.0
lock-app debug (read only) 2521593 2521593 0 0.0
(read/write) 124512 124512 0 0.0
.bss 47840 47840 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69096 69096 0 0.0
.dynamic 608 608 0 0.0
.got 4416 4416 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 229032 229032 0 0.0
.text 2127490 2127490 0 0.0
ota-provider-app debug (read only) 2325169 2325169 0 0.0
(read/write) 118312 118312 0 0.0
.bss 47488 47488 0 0.0
.data 1944 1944 0 0.0
.data.rel.ro 63096 63096 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 203800 203800 0 0.0
.text 1958690 1958690 0 0.0
ota-requestor-app debug (read only) 2442745 2442745 0 0.0
(read/write) 125216 125216 0 0.0
.bss 49856 49856 0 0.0
.data 2232 2232 0 0.0
.data.rel.ro 67304 67304 0 0.0
.dynamic 608 608 0 0.0
.got 4472 4472 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 207520 207520 0 0.0
.text 2064146 2064146 0 0.0
shell debug (read only) 2559009 2559009 0 0.0
(read/write) 141104 141104 0 0.0
.bss 57448 57448 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 76688 76688 0 0.0
.dynamic 608 608 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 228050 228050 0 0.0
.text 2173954 2173954 0 0.0
thermostat-no-ble arm64 (read only) 2599556 2599556 0 0.0
(read/write) 158257 158257 0 0.0
.bss 65249 65249 0 0.0
.data 1704 1704 0 0.0
.data.rel.ro 83216 83216 0 0.0
.dynamic 528 528 0 0.0
.got 5072 5072 0 0.0
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 165700 165700 0 0.0
.text 2194112 2194112 0 0.0
tv-app debug (read only) 3107129 3107129 0 0.0
(read/write) 257704 257704 0 0.0
.bss 167016 167016 0 0.0
.data 4848 4848 0 0.0
.data.rel.ro 79392 79392 0 0.0
.dynamic 608 608 0 0.0
.got 4840 4840 0 0.0
.init 27 27 0 0.0
.init_array 952 952 0 0.0
.rodata 249440 249440 0 0.0
.text 2669890 2669890 0 0.0
tv-casting-app debug (read only) 5349409 5349409 0 0.0
(read/write) 156848 156848 0 0.0
.bss 50248 50248 0 0.0
.data 2416 2416 0 0.0
.data.rel.ro 97928 97928 0 0.0
.dynamic 608 608 0 0.0
.got 4736 4736 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 331625 331625 0 0.0
.text 4752530 4752530 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2448952 2448952 0 0.0
.bss 213940 213940 0 0.0
.data 5872 5872 0 0.0
.text 1411596 1411596 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1176443 1176443 0 0.0
bss 142900 142900 0 0.0
rodata 142164 142164 0 0.0
text 812472 812472 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1156507 1156507 0 0.0
bss 142136 142136 0 0.0
rodata 133708 133708 0 0.0
text 801780 801780 0 0.0
p6 all-clusters-app default (read/write) 2568432 2568432 0 0.0
.bss 149120 149120 0 0.0
.data 2776 2776 0 0.0
.text 1526696 1526696 0 0.0
all-clusters-minimal-app default (read/write) 2513312 2513312 0 0.0
.bss 148400 148400 0 0.0
.data 2776 2776 0 0.0
.text 1471576 1471576 0 0.0
light-app default (read/write) 2443296 2443296 0 0.0
.bss 140456 140456 0 0.0
.data 2592 2592 0 0.0
.text 1401560 1401560 0 0.0
lock-app default (read/write) 2470384 2470384 0 0.0
.bss 140304 140304 0 0.0
.data 2600 2600 0 0.0
.text 1428648 1428648 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 798456 798456 0 0.0
bss 70576 70576 0 0.0
noinit 40416 40416 0 0.0
text 566614 566614 0 0.0
lighting-app tlsr9518adk80d (read/write) 818496 818496 0 0.0
bss 71420 71420 0 0.0
noinit 40416 40416 0 0.0
text 583148 583146 -2 -0.0

@andy31415 andy31415 merged commit 08bb91f into project-chip:master Jul 18, 2022
github-actions bot pushed a commit that referenced this pull request Jul 18, 2022
* Add fabric scope support in IDL for commands

* Add support for fabric scoped attributes. Due to ambiguity of fabric_scoped, moved to earley parser instead of lalr. Potentially somewhat slower, but likely still fast enough

* Switch back to lalr parser because it is much faster

* Doc updates and one more test

* Fix command id in examples

* Use common keyword of fabric after updating grammar a bit

* Fix extra rule

* Restyle
woody-apple added a commit that referenced this pull request Jul 18, 2022
* Add fabric scope support in IDL for commands

* Add support for fabric scoped attributes. Due to ambiguity of fabric_scoped, moved to earley parser instead of lalr. Potentially somewhat slower, but likely still fast enough

* Switch back to lalr parser because it is much faster

* Doc updates and one more test

* Fix command id in examples

* Use common keyword of fabric after updating grammar a bit

* Fix extra rule

* Restyle

Co-authored-by: Andrei Litvin <[email protected]>
@@ -94,6 +94,10 @@ server cluster AccessControl = 31 {
// These defaults can be modified to any of view/operate/manage/administer roles.
attribute access(read: manage, write: administer) int32u customAcl = 3;

// Attributes may be fabric-scoped as well by tagging them as `fabric`.
fabric readonly attribute int16u myFabricAttr = 22;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is wrong. Attributes cannot be fabric-scoped at all...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there some spec description of this? Access description seems to lump them all together and I did find some (but very few) attributes which seemed to have F in the access column in my copy of the spec:

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Offline conversation results:

  • fabric scoped on attributes is only for "lists of structures"
  • the structures themselves will be tagged as "fabric scoped" as this pulls in a fabric index attribute into them

So followup changes should be:
- remove fabric scoped from attributes
- tag structs as fabric scoped (assuming zap knows about this)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants