Start of CONSTRUCTOR for the Grammar GA33.grm Sat Apr 03 15:59:21 2004

Terminal alphabet

# 1 = #
# 2 = a
# 3 = b
# 4 = c


Nonterminal alphabet

# 5 = `X1'
# 6 = `X2'
# 7 = `X3'
# 8 = `X4'
# 9 = `X5'


Productions

P 1: `X1' -> # a `X2' #
P 2: `X2' -> a `X2' `X3'
P 3: `X2' -> b
P 4: `X3' -> b
P 5: `X1' -> # a `X4' #
P 6: `X4' -> a `X4' `X5'
P 7: `X4' -> c
P 8: `X5' -> c

Leftmost-set

Symbol#abcX1X2X3X4X5
5.X1*00000000
6.X20**000000
7.X300*000000
8.X40*0*00000
9.X5000*00000

Rightmost-set

Symbol#abcX1X2X3X4X5
5.X1*00000000
6.X200*000*00
7.X300*000000
8.X4000*0000*
9.X5000*00000

Leftmost & rightmost sets

`X1' leftmost set: `#'
`X1' rightmost set: #

`X2' leftmost set: `a' , `b'
`X2' rightmost set: b , X3

`X3' leftmost set: `b'
`X3' rightmost set: b

`X4' leftmost set: `a' , `c'
`X4' rightmost set: c , X5

`X5' leftmost set: `c'
`X5' rightmost set: c


Precedence matrix

Symbol#abcX1X2X3X4X5
1.#0=0000000
2.a0<<<0=0=0
3.b>0>000>00
4.c>00>0000>
5.X1000000000
6.X2=0<000=00
7.X3>0>000>00
8.X4=00<0000=
9.X5>00>0000>

The relationships of symbol #1 #:
=• a

The relationships of symbol #2 a:
<• a<• b<• c=• `X2'=• `X4'

The relationships of symbol #3 b:
•> #•> b•> `X3'

The relationships of symbol #4 c:
•> #•> c•> `X5'

The relationships of symbol #5 `X1':

The relationships of symbol #6 `X2':
=• #<• b=• `X3'

The relationships of symbol #7 `X3':
•> #•> b•> `X3'

The relationships of symbol #8 `X4':
=• #<• c=• `X5'

The relationships of symbol #9 `X5':
•> #•> c•> `X5'


Grammar GA33.grm is a precedence grammar

Grammar GA33.grm is not invertible


Left Context


Symbol#abcX1X2X3X4X5
5.X1000000000
6.X20*0000000
7.X300000*000
8.X40*0000000
9.X50000000*0

Right Context


Symbol#abc
5.X10000
6.X2*0*0
7.X3*0*0
8.X4*00*
9.X5*00*


Independent context

`X1' left context:
`X1' right context:

`X2' left context: a
`X2' right context: # , b

`X3' left context: `X2'
`X3' right context: # , b

`X4' left context: a
`X4' right context: # , c

`X5' left context: `X4'
`X5' right context: # , c


Equivalent definitions:
`X2' —> b & `X3' —> b
`X2' left context: a
`X2' right context: # , b

`X3' left context: `X2'
`X3' right context: # , b


The left context of `X2' and `X3' is different

Equivalent definitions:
`X4' —> c & `X5' —> c
`X4' left context: a
`X4' right context: # , c

`X5' left context: `X4'
`X5' right context: # , c


The left context of `X4' and `X5' is different

Grammar GA33.grm is BRC(1|1)-reducible


Semantics

Semantics file is GA33.sem
#=1
a=2
b=3
c=4
P1=5 $P 1: `X1' -> # a `X2' #
P2=6 $P 2: `X2' -> a `X2' `X3'
P3=7 $P 3: `X2' -> b
P4=8 $P 4: `X3' -> b
P5=9 $P 5: `X1' -> # a `X4' #
P6=10 $P 6: `X4' -> a `X4' `X5'
P7=11 $P 7: `X4' -> c
P8=12 $P 8: `X5' -> c

Result tables


FileSize
GA33.prm28
GA33.pm100
GA33.t200
GA33.tt100
GA33.ht1352
GA33.sm56
GA33.v520
GA33.lc100
GA33.rc100

Look at result tables

Finish of CONSTRUCTOR Sat Apr 03 15:59:21 2004