Parser Generator
Инструментарий для построения компиляторов.
   

Главная

О сайте

Документация

Download

Ссылки

Библиография

О нас


Описание формата файла матрицы предшествования.

Матрица предшествования определяет отношения предшествования между символами полного словаря грамматики.

Пример матрицы предшествования:

 EE!PTT!()*+ie
E             =          
E!             >         >  
P         =       <        
T   =               <      
T!                 >      
( =     <   <     <         <    
)               >        
*     =       <         <    
+     <   =     <         <    
i               >        
^ <     <   <     <         <    

Для задания матрицы предшествования необходимо задать пары символов для каждого отношения предшествования:

<PrecedenceMatrix>
  <less>
    <less t1="(" t2="("/>
    <less t1="(" t2="P"/>
    <less t1="(" t2="T"/>
    <less t1="(" t2="i"/>
    <less t1="*" t2="("/>
    <less t1="*" t2="i"/>
    <less t1="+" t2="("/>
    <less t1="+" t2="P"/>
    <less t1="+" t2="i"/>
    <less t1="" t2="("/>
    <less t1="" t2="E"/>
    <less t1="" t2="P"/>
    <less t1="" t2="T"/>
    <less t1="" t2="i"/>
    <less t1="P" t2="*"/>
    <less t1="T" t2="+"/>
  </less>
  <equal>
    <equal t1="(" t2="E"/>
    <equal t1="*" t2="P"/>
    <equal t1="+" t2="T"/>
    <equal t1="E" t2=")"/>
    <equal t1="P" t2="T!"/>
    <equal t1="T" t2="E!"/>
  </equal>
  <more>
    <more t1=")" t2="*"/>
    <more t1="E!" t2=""/>
    <more t1="E!" t2=")"/>
    <more t1="T!" t2="+"/>
    <more t1="i" t2="*"/>
  </more>
</PrecedenceMatrix>

Таким образом, внутри контейнера PrecedenceMatrix находятся три секции (less, equal, more) для каждого отношения предшествования.


 
   
© С. Григорчук 2001, Содержание, дизайн

ukman@yandex.ru
Hosted by uCoz