S --> L . R L.pos = 0; R.pos = -1; S.val = L.val + R.val S --> L L.pos = 0; S.val = L.val; L --> L1 B L1.pos = L.pos + 1; B.pos = L.pos; L.val = L1.val + B.val; L --> B B.pos = L.pos; L.val = B.val; R --> R1 B R1.pos = R.pos - 1; B.pos = R.pos; L.val = L1.val + B.val; R --> B B.pos = R.pos; L.val = B.val; B --> 0 B.val = 0; B --> 1 B.val = 1*2B.pos;
Productions Semantic Rules
S --> L . R L.pos = 0; R.pos = -1; S.val = L.val + R.val
S --> L L.pos = 0; S.val = L.val;
L --> L1 B L1.pos = L.pos + 1; B.pos = L.pos; L.val = L1.val + B.val;
L --> B B.pos = L.pos; L.val = B.val;
R --> R1 B R1.pos = R.pos - 1; B.pos = R.pos; L.val = L1.val + B.val;
R --> B B.pos = R.pos; L.val = B.val;
B --> 0 B.val = 0;
B --> 1 B.val = 1*2B.pos;
Create an annotated parse tree for the following input strings:
b) 010.1111
S --> L . R L.pos = 0; R.pos = -1; S.val = L.val + R.val
S --> L L.pos = 0; S.val = L.val;
L --> L1 B L1.pos = L.pos + 1; B.pos = L.pos; L.val = L1.val + B.val;
L --> B B.pos = L.pos; L.val = B.val;
R --> R1 B R1.pos = R.pos - 1; B.pos = R.pos; L.val = L1.val + B.val;
R --> B B.pos = R.pos; L.val = B.val;
B --> 0 B.val = 0;
B --> 1 B.val = 1*2B.pos;
Step by step
Solved in 2 steps with 1 images