packages feed

GenI-0.17.3: examples/xmg-example/grammar/Sem.mg

%% Semantic classes
class  basicProperty
export ?E ?L0 ?Rel
declare ?E ?L0 ?Rel
      {
        <sem>{
                L0:Rel(E)
              }
              *=[label0 = L0, rel =Rel,arg0=E]
          }

% unary relation with event variable
class  unaryRel
import basicProperty[]
declare ?X ?Theta1
      {
        <sem>{
                 L0:Theta1(E,X)
              }
              *=[arg1=X,theta1 =Theta1]
          }

% binary relation with event variable
class  binaryRel
import unaryRel[]
declare ?X ?Theta2
      {
        <sem>{
                 L0:Theta2(E,X)
              }
              *=[arg2=X,theta2 =Theta2]
          }

% Verb arguments
class  SubjectSem
export
        ?xSem
declare
        ?xSem ?X ?L
{
        <syn>{
                node xSem[top=[idx=X,label=L]]
        }*=[subjectI = X,subjectL = L]
}

class  ObjectSem
export
        ?xSem
declare
        ?xSem ?X ?L
{
        <syn>{
                node xSem[top=[idx=X,label=L]]
        }*=[objectI = X,objectL = L]
}

class  CAgentSem
export
        ?xSem
declare
        ?xSem ?X ?L
{
        <syn>{
                node xSem[top=[idx=X,label=L]]
        }*=[cagentI = X,cagentL = L]
}

%% Noun semantics
class  nSem
export
        ?xSem
declare
        ?xSem ?X ?L
{
        <syn>{
                node ?xSem[cat=@{cl,n},top=[idx=X, label=L]]
        };
        basicProperty[]*=[arg0=X]
}