scieee Science in your language
[en] (orig)

Maude as a Metalanguage

Abstract

One of the key goals of rewriting logic from its beginning has been to provide a semantic and logical framework in which many models of computation and languages can be naturally represented. There is by now very extensive evidence supporting the claim that rewriting logic is indeed a very flexible and simple logical and semantic framework. From a language design point of view the obvious question to ask is: how can a rewriting logic language best support logical and semantic framework applications, so that it becomes a metalanguage in which a very wide variety of logics and languages can be both semantically defined, and implemented? Our answer is: by being reflective. This paper discusses our latest language design and implementation work on Maude as a reflective metalanguage in which entire environments---including syntax definition, parsing, pretty printing, execution, and input/output---can be defined for a language or logic £ of choice.

Read accessible full text

Maude as a Metalanguage

Author: Clavel, M.; Durán, F.; Eker, S.; Lincoln, P.; Martí Oliet, N.; Meseguer, J.; Quesada Moreno, José Francisco
Publisher: Elsevier
Year: 1998
DOI: 10.1016/S1571-0661(05)82557-5
Source: https://idus.us.es/bitstreams/d4b172ac-f9af-4189-97a4-dc04dabd5cf0/download
   

 


 

  

  

  


 

    ! 


      

       

!"#$ $ " %" $$ # $$ 

 & $ %" %'(" $ $#"%')   

              
*
"

+" ,
       
            
              
            
             
       
+#+
    
         
"  $($

$
!
     
-"
        
    "       
#  $    
%#   $     
Ä
 
 
            
            
             
         
            
          
           
              
½
         !"  #Æ
$ %&'  %!(!!("   %'   )
*

 

 

         
 

   

 
         
    
    ! "#$%& ' Æ    
!     (  

   
  

       
           
           
       (    
 )       !     
           
  *   (    
+          
     ,         
 ,      
-      .  


   ,     *  
  (           
Æ    /      ,
       ,  $  ! 
        

  0  
           
! 1         
   

      (
         
          
 (  2       +
   3       4  
           !    
           
  
       .   
  .55             
   
   
            "##& 
             (  
     67     67   
67       )     (   
$

 

   *         
67         )   
     *     
         8 *  
 6 7        67   
         
            
     8      
9*  :     
              
            
       3    
         /  
           
          
             

   
 (     +!    / 
    9      
 (      / :    
          
 67          .55  
            
   ! ! "
           .; 
 "0#& ' .;       
     1    
     .;         .1<
1      .;   "0=&  
  .1   >   <?     
 "$@&           
  )        
      Æ    
  
# $ "% &  
           - 
     Æ     
 A       /    
0

 

          ( 
   !           
      3   )  
         B==CB4=C 
     $%C###C 2.      
 90==A3 ;D:  (  2.     
    2.  92.   8;:  
3   2.  )         
      9   2.  :
 )
  

-  !             
       )        
 )       
  -           
    !  "#$%&       
 ( 

 
Í
    
(     /    
           

 
            
 (   

      
        -   
 

      9:  (   
   -     

E
¯
     (       

 F
¯
      (       

  F
¯
              
  (           ( 


F
¯
               )   (
  

F
¯
             / 
  (   

F
¯
              
            
  (     
  



 

  
             
* (    

 A  Æ 
         
4

 

        

  (
            
  



-    6! 7  
     !    2  
          

 
 "B&
8          
         

 
               
   9 :  ( +  
 1    E
¯
.   "#0%&   (
 

     

    
  9:         F
¯
GH   "#I&    / 3 
    .  J'K  "I#%&   3
     

      
3           
(      F 
¯
/ 9:       (    

        (    
    /  9  4#  4$:
      

      
    3        
             
   .55 9 .     $:
         

  
       (         

     3   

  
     Æ      
        
   
J                 
 &'
      , 
   ,     
'         
            
     
 &'
"$=&  
          
   >?28 ;        
            
I


 

 !     "$#$0$44&   
 "$=#B04#@00$D#4%#=&   )  
        
        "0I$I00$%$B&
             
            

LE


()

1        *   E 
             
   

       
 (         
   
  
 
%
 M
J  E    !  (   (  
  


       


*
+
   L   * ( 
LE







      (   
  ,         

 
9  0: -        ' 
 "$&     L     (   
  (   .    * N 
           L9

:
     



        
  "%&       "#I&      
            
-           
%

&
     

      


          



     (     /  
+         
  1            ,
       ( ,  

*,
         
   (           
       
#  -
-       

  

  (
       (   

       
   

   




 
            
D

 

        (    
  

9 (: 

9   (: 
                
              
      
            (
,      ,         
    E     
% 
  
   (       
 



   !     
(
          (   
   .     E
  
  
  !  
   !  
"     #  

8             
     -          
        

 2    9 
 (    : (     
   !          
  
$%
 (        E
 $% 
 & &' 
 % ( % 
 ")#)   ! % 
 ))  % ! & 
  ) )   ! &' 

8             
        

   
         ( F  
       *
    

        
&

$%
      !      

&
     -   

&
 

   
   (           
    1      (   
%

 

 

       44    
(     
# !  ! !
2  

  

 
    !  
 

9



½


:      
(

½


         

F
 

   

½


    



F   
*

             Æ
   

     (  1
   
&
      

 
  & ! + 
< 
&



 ( 


¼

           

 
*F 

   
&

 


¼¼
  




 


 

 
  

9

¼

: -        
 
+


 
   

      
   

  
    !  
-         

  
 

-     (    


   


#  ",  
        


   (       
    (  -     
   3       
       

 
 ,
- 
             

Ä


          
,
Ä

  
               


   (         


-         

   
          

 2   
B

 

        

     
         !    
     
,







           
    

       !  
      LE




   

     '    9 :

   
   

       
,










 (   

      
    .   !   
    

'       
 3     
 %

      3  F   
      )   2    
      "#I& -     
   !        
  
## .%/$%
N  )          +
  
--&
    


           3  


    
./-
 +  )     
   E       


    
,
     
.
  
(     
&

&'
     

    
%
 
%
  
  (       

   
   3  1        
        
     
         
            
  
--&
 
%
   )E   
./-


   
,


     
        
1       
%
 

 )
     (       (
    (      *  
@