1. Multiple Attribute Grammar Inheritance. Marjan Mernik, Mitja Lenigc, Enis .... easy way. Therefore inheritance can be very help- ful since it is a language ...
! " " #$ %&&& "
'
(
!"#$ %&
) ( ! !* ! ' +" ,( ( !
! ! ( '
! - .# %/0 1 ( ( ' ! , !! ( ' ( ,
( ! - 0 2 ( -'
!! ! - ! 0 " ( ! - ' ( 0 3 , - ! ( ! - ( ,! 4 ( ( ! ( ! - ' 0 5( ! - 6'
0 ! ! ( ' (
! - ! - ( ! '
7 6 ' 0 5( ( ! - , ( ! ! ( ! 0 '
! - ' .8/0 ) !! (
( ' !'
0 , ' ! - , ( ( !'
9 ,( ( '
.8/ ! ( !!0 + .:/ ( , ! ( (( 6! ! 0 ) ( ' ! ( 22 ; , ( !
' ( 0 2 6! , ( ( ' 6! (, ( ! ( '
( ' !6 6
0 5( - ( !! (
( ( ! ( 0 + (
!! ( ! ('
( ' !
( ! 0 5( !
( !! (
! ( , ! ( +" 0 %0&0
( ? $/ 7 6 ' ,( ( ( (
( , ( ( ! , (
! 0
@ 6 ' 9 A B ,( ( ' C ( ,( ( D !! ( ( ! C
( ! 0 E, 9 0
A B ( ' 0 A B
, A B ('
A BË (7 '
0 E, 9 A B0 0 ( A B @ - ,( ( ( ! 0 0 " - , ( ( ! !' 0 ! @ ¼ ½ A &B (
' A B & 0 - , (
( ! , ( 6 ( (7
¼ 6 ( ( '
# 0 5( ( 9
A½ B & ,( #
'
0 + ( 9 A½ B
(
! ( '
Ë
# 0 E,
9 0 ( ! @ ¼ ½ A &B ( -
A B 9 9 A B 0
(7 A A BB
( 6 ! @ ½ A B0 + ( A A BB ( 6 ! @ ½ AB0 5(
! 9 A B ,( ( 6 ' -
-
0
5( ! ( !! (
, ( !0 5( ( ' ( ( ! 0 )( , ! ( ( Æ ( ,0 5( ( (!' ( ( , , - ( 6 0 , ! - ( ( !! , !! (
6 ( !! 0 )( , ! * * ( ! ( ( 6 ( 6 -0 5( ( - ! !, ' ! 0 ( ,( ( ( ! - ! 0 )
!( ( ( ' ! 00 ! ( ! '
.:/0 ( - !
('
! 0 !
' ( 7 '
,( (
( ( ! -
!" # ""$ %!" &$$ '($ "')
, ! - ' ! - ! - 0 ) ( (' , 6 ( 6 6 ' ! ( ! ! -'
0 5( - !
! ( ! 7 ! - 0 5( ' ! - ( , @ * +++ , **#, *#, , $ + + + +
- +++ + + +
**., *., , / 001 / / +++ /
/
/ +++ /
+ + +
2 + + +
**', *', ,
+ + +
+ ' ( !! (
( ' - 0 "
( ! , ( ! ' ! !! ! '
( 6 ' -
- ,( ( 7 6 ( ! ' ( 0 5( - !
(' @ ! - 6 ( ' , , ! ' 7 ! - ! - ! - ' ( ! -
( ( !' ! - ' ! ! - 0 + ! ( , !
( !! ( (
(! ( ( ,( ( 4 60 2 ! ( ! ( !
F' A FB .##/0 F !
0 + ' !
!( 6! ! 6 0 5(
! - 0 + !! ( ! , ( 0 )( ! - ! !
0 ; '
' !! ( !'
( ! 0 " ( ! '
, ( ! 0 !
!!( ! 7 , (
,( ( , ( ! , ( 4
0 "
'
.8/ !
!!(0 ( ! !!! ! ,( ( ! ' ,( ( !
0 5! ! '
,( ( ! ! 0 ( !! !!0 6! !
@
. 001 /- /3 +++ /' /-+ 1 .+ 2 /3+ 1 .+ 2 +++ /'+ 1 .+ 2
! ( !
@
. / 5 6
/ 4 1 . 2
4
5( ( ! ' 0 " ( , ( '
( 0 ! '
! , (
( ( 5( - ! @ 0 5 ( , ( ! - ' - ,( (
! (( ' ! A ( B0
( ! ( - 6 0 ! - ( ' 5( ( ! ! ! (
( 6 6!0 !
@ ! ( , ' ! 0 ( 6! ! ,( ( ' ! ( !
, (
, G @ ! A 6! 22 ! -
,
%> !B0 + ( -
! 6' ! ( 4 0 5( (
!@ . 001 /- /3 +++ /'
/-+ 1 .+ 2 /3+ 1 /-+2 + + +
/'+ 1 /'7-+2 .+ 1 /'+2
. . / 4 / 4
6 %
8 8/ 49 :: 8/ 499
. 1 . 2
;8/ 49 1 . 2
/ 4 1 8/ 492
. 1 8/ 492
2 ( ,
! ( ( ! '
6 , ( ! !!'
0 5 ( , ( (
!(
(, ( 6 6!0 5)< 001 5)
2
5)
9#?0 ' ! ( , ( 4 ' ,0 + ( ! 0 + ( - ! -'
(
,( ( H ! 6' !0 '6 @
5)+ &6 1 5),?
6! ( ! D$D 7 +" ,-0 + , ( 6 ! - ( , ! ! ( ! - '
0 + ( - , ' ( ! , !! , ( ' +" ,-0 2 ( ! -
( - ( ! 0 6! ( 6 ( ! D$D ,
( +" ,- 0 + (
( - ( ( G -' 0 ( ( ( - - ( , ,@ (½ (¾ ( !! ' - 6! !½ !¾ ! - (½ 9 ½½ ½½ ½¾ ½¾ ½ ½ (¾ 9 ¾½ ¾½ ¾¾ ¾¾ ¾ ¾ 00 ( 9 ½ ½
,( - 6! ( ( 9 (¾ ( (½ ,( ½ ¾ 9 (½ ,( ( ( (¾ ( - @ ½ A¾ '' )* A!½ !¾ BB ( 9 (½ ( 0 A '' )* A!½ ! BB0 6!@ )( )* A!½ !¾ B ' ( !¾ ,( ( '
!½ 0 ( ! ' !
! ( ! '
! (7 ! .J/0 5( ! - @ ! 9 ½ 9 ½ "#$% & A¾ %A ! %A!¾BABB " )* A!½ !¾ BB A %A ! %A!BABB
)* A!½ ! BB A ! %A! BB A ! %A! BB 9 ! 9 % 9 % 9 "#$% & 6!@ " 1
1
1
'$%%('
½ ¾ 000 6 ' - ½ 9 A½ ½ ½ ½ B ¾ 9 A¾ ¾ ¾ ¾ B 00 9 A B ( 9 ¾ ½ ,( ½ ,( ( ( ¾ 000 - 9 A ½ B ,( 9 ½ 9 ½ 9 ½ 0 E ( ( '
6 ( 6 ' ½ 0 " ( ' , ! ½ ! ,( ' - ( - ( ! ( 0 5( ! - @
8" 9 1 8" 9 1 8'$%%( "9 1 8'$%%( "9 1 1 8
) * +,-* .-/ +,-* +,- +,- .-/ +,- .-/ .-/ ) 9
1 8 )
)#$% * +,-* .-/ '. -.* './.'*
'./. '. -.* +,- +,- .-/ +,- .-/ .-/ ) '. -. './.'* './.' './. './.'* './.' * './. )#$% +,-* .-/ )#$%9
1 8 ) )#$%* * * * +,-* .-/ '. -.* './.'* './. '. -.* +,- +,- .-/ +,- .-/ .-/ ) * '. -. './.'* './.' './. './.'* './.' * './. )#$% +,-* .-/ )#$% .-/ )#$% +,- 9
!" # ""$ %!" &$$ '($ "')
A ! %A! BB A ! %A! BB 9 9 % 9 % 9
½ ¾ 000
6!@ - @ ½ 9 A ½ ½ ½ B ¾ 9 A ¾ ¾ ¾ B 00 9 A B ( 9 ¾ ½ ,( ½ ,( ( ( ¾ - 9 A B ,( 9 ¾ ½ 9 ½
9 ½ 0 " (
( !
- @ 9 ½ ½ 0 5( 9 ½ - ' ! (
4 ! 4 0 5( (7 !!0 " ( (7 !' ! !! ' ' !
.J/0 L 9 ½ - @ 9½ A¾ ½ ½½ %A½BB
A ½ ½½ %A½BB A 9 % 9 # 9 ! @ A B A B A 9 BB0 5( ! ( (7
!0 + (
, ( ( 0 9½ 9 ½ %A" AA½ ½ B A¾ ¾ %A ! %A!¾ BABB )* A!½ !¾ BBBB
%A" AA½ ½ B A %A ! %A!BABB )* A!½ ! BBBB 18
1
9
/#$+
"$+
1
1
1
1
1
/#$*=,+1/#$*-,+ ? "$*=,+ 1
/#$*=,+1"$*=,+
1
"$*=,+1
+ @8A'6 *=,+ 899+ 89 1
8
9
1
#N?J0 .?/ # #NN:0 .#N/ I0 50 6
F , 1 2 5L ( I! E0 N%O? #NN%0 .%&/ = 0 ) )0 0
0 8# #NN: !!0 ? O ?%$ #NN:0 .%#/ 0 0 0 0 ' !' ! ( ! - !' 0 / 34 0 : E0 8 !!0 %$8 O 8&? #NNJ0 .%%/ 1 I0 "0 ! ' ! 0 %# !!0 %8N O %>& #NJ:0 .%8/ 2 1 ( =0 ",