%
% Copyright (C) 1996 Thanaruk Theeramunkong (ping@jaist.ac.jp)       
%                    Hiroki Imai            (imai@cs.titech.ac.jp)  
%                    Manabu Okumura         (oku@jaist.ac.jp)       
%                    Susumu Kunifuji        (kuni@jaist.ac.jp)      
%								     
%					       6 June 1996	     
%								     
% The file contains some specifications for RLRPAR          	     
%
% The Style of these clauses are as follows.
% parse(Terminal,Arg2,Arg2,Arg3,Arg4,Arg5,NodRec1,NodRec2)


parse([null],A1,A2,A3,A4,A5,NR1,NR2) :- 
    null(A1,A2,A3,A4,A5,NR1,NR2).
parse([cc],A1,A2,A3,A4,A5,NR1,NR2) :- 
    cc(A1,A2,A3,A4,A5,NR1,NR2).
parse([cd],A1,A2,A3,A4,A5,NR1,NR2) :- 
    cd(A1,A2,A3,A4,A5,NR1,NR2).
parse([comma],A1,A2,A3,A4,A5,NR1,NR2) :- 
    comma(A1,A2,A3,A4,A5,NR1,NR2).
parse([dollar],A1,A2,A3,A4,A5,NR1,NR2) :- 
    dollar(A1,A2,A3,A4,A5,NR1,NR2).
parse([dt],A1,A2,A3,A4,A5,NR1,NR2) :- 
    dt(A1,A2,A3,A4,A5,NR1,NR2).
parse([ex],A1,A2,A3,A4,A5,NR1,NR2) :- 
    ex(A1,A2,A3,A4,A5,NR1,NR2).
parse([in],A1,A2,A3,A4,A5,NR1,NR2) :- 
    in(A1,A2,A3,A4,A5,NR1,NR2).
parse([jj],A1,A2,A3,A4,A5,NR1,NR2) :- 
    jj(A1,A2,A3,A4,A5,NR1,NR2).
parse([jjr],A1,A2,A3,A4,A5,NR1,NR2) :- 
    jjr(A1,A2,A3,A4,A5,NR1,NR2).
parse([jjs],A1,A2,A3,A4,A5,NR1,NR2) :- 
    jjs(A1,A2,A3,A4,A5,NR1,NR2).
parse([md],A1,A2,A3,A4,A5,NR1,NR2) :- 
    md(A1,A2,A3,A4,A5,NR1,NR2).
parse([nn],A1,A2,A3,A4,A5,NR1,NR2) :- 
    nn(A1,A2,A3,A4,A5,NR1,NR2).
parse([nnp],A1,A2,A3,A4,A5,NR1,NR2) :- 
    nnp(A1,A2,A3,A4,A5,NR1,NR2).
parse([nnps],A1,A2,A3,A4,A5,NR1,NR2) :- 
    nnps(A1,A2,A3,A4,A5,NR1,NR2).
parse([nns],A1,A2,A3,A4,A5,NR1,NR2) :- 
    nns(A1,A2,A3,A4,A5,NR1,NR2).
parse([pdt],A1,A2,A3,A4,A5,NR1,NR2) :- 
    pdt(A1,A2,A3,A4,A5,NR1,NR2).
parse([pos],A1,A2,A3,A4,A5,NR1,NR2) :- 
    pos(A1,A2,A3,A4,A5,NR1,NR2).
parse([prp],A1,A2,A3,A4,A5,NR1,NR2) :- 
    prp(A1,A2,A3,A4,A5,NR1,NR2).
parse([psp],A1,A2,A3,A4,A5,NR1,NR2) :- 
    psp(A1,A2,A3,A4,A5,NR1,NR2).
parse([rb],A1,A2,A3,A4,A5,NR1,NR2) :- 
    rb(A1,A2,A3,A4,A5,NR1,NR2).
parse([rbr],A1,A2,A3,A4,A5,NR1,NR2) :- 
    rbr(A1,A2,A3,A4,A5,NR1,NR2).
parse([rbs],A1,A2,A3,A4,A5,NR1,NR2) :- 
    rbs(A1,A2,A3,A4,A5,NR1,NR2).
parse([rp],A1,A2,A3,A4,A5,NR1,NR2) :- 
    rp(A1,A2,A3,A4,A5,NR1,NR2).
parse([to],A1,A2,A3,A4,A5,NR1,NR2) :- 
    to(A1,A2,A3,A4,A5,NR1,NR2).
parse([uh],A1,A2,A3,A4,A5,NR1,NR2) :- 
    uh(A1,A2,A3,A4,A5,NR1,NR2).
parse([vb],A1,A2,A3,A4,A5,NR1,NR2) :- 
    vb(A1,A2,A3,A4,A5,NR1,NR2).
parse([vbd],A1,A2,A3,A4,A5,NR1,NR2) :- 
    vbd(A1,A2,A3,A4,A5,NR1,NR2).
parse([vbg],A1,A2,A3,A4,A5,NR1,NR2) :- 
    vbg(A1,A2,A3,A4,A5,NR1,NR2).
parse([vbn],A1,A2,A3,A4,A5,NR1,NR2) :- 
    vbn(A1,A2,A3,A4,A5,NR1,NR2).
parse([vbp],A1,A2,A3,A4,A5,NR1,NR2) :- 
    vbp(A1,A2,A3,A4,A5,NR1,NR2).
parse([vbz],A1,A2,A3,A4,A5,NR1,NR2) :- 
    vbz(A1,A2,A3,A4,A5,NR1,NR2).
parse([wdt],A1,A2,A3,A4,A5,NR1,NR2) :- 
    wdt(A1,A2,A3,A4,A5,NR1,NR2).
parse([wp],A1,A2,A3,A4,A5,NR1,NR2) :- 
    wp(A1,A2,A3,A4,A5,NR1,NR2).
parse([wrb],A1,A2,A3,A4,A5,NR1,NR2) :- 
    wrb(A1,A2,A3,A4,A5,NR1,NR2).
parse([uk],A1,A2,A3,A4,A5,NR1,NR2) :- 
    uk(A1,A2,A3,A4,A5,NR1,NR2).


parse([null|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    null(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([cc|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    cc(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([cd|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    cd(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([comma|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    comma(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([dollar|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    dollar(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([dt|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    dt(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([ex|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    ex(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([in|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    in(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([jj|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    jj(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([jjr|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    jjr(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([jjs|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    jjs(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([md|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    md(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([nn|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    nn(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([nnp|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    nnp(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([nnps|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    nnps(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([nns|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    nns(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([pdt|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    pdt(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([pos|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    pos(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([prp|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    prp(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([psp|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    psp(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([rb|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    rb(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([rbr|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    rbr(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([rbs|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    rbs(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([rp|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    rp(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([to|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    to(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([uh|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    uh(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([vb|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    vb(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([vbd|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    vbd(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([vbg|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    vbg(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([vbn|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    vbn(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([vbp|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    vbp(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([vbz|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    vbz(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([wdt|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    wdt(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([wp|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    wp(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([wrb|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    wrb(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
parse([uk|IR],A1,A2,A3,NA4,A5,NR1,NR2) :- 
    uk(A1,A2,A3,A4,A5,NR1,NR3),
    merge_node(A4,NA3),
    NA1 = A1, NA2 = A2, NA5 is A5+1,
    parse(IR,NA1,NA2,NA3,NA4,NA5,NR3,NR2).
