sentenca(S1,S,INF,SUP,_,A):-
	pontuacao(S2,S,INF,SUP,d,A2,fim),
	periodo(S1,S2,INF,S2,e,A1,decl),
	monta_arv(A,sentenca1,[A1,A2]).

sentenca(S1,S,INF,SUP,_,A):-
	pontuacao(S2,S,INF,SUP,d,A2,fim),
	periodo_composto(S1,S2,INF,S2,e,A1,decl),
	monta_arv(A,sentenca2,[A1,A2]).

periodo(S1,S,INF,SUP,_,A,Tipo):-
	oracao(S1,S,INF,SUP,d,A1,Tipo),
	monta_arv(A,periodo,[A1]).

periodo_composto(S1,S,INF,SUP,_,A,Tipo):-
	conjcoordenat(S4,S5,INF,SUP,d,A4),
	e_virgula(S3,S4,INF,S4,e,A3),
	periodo(S2,S3,INF,S3,e,A2,Tipo),
	e_oracoes_coord(S1,S2,INF,S2,e,A1,Tipo,_),
	e_virgula(S5,S6,S5,SUP,d,A5),
	periodo(S6,S,S6,SUP,d,A6,Tipo),
	monta_arv(A,periodo_composto1,[A1,A2,A3,A4,A5,A6]).

e_oracoes_coord(S,S,_,_,_,e_oracoes_coord1,_,_).

e_oracoes_coord(S1,S,INF,SUP,_,A,Tipo,Sep):-
	conjcoordenat(S2,S3,INF,SUP,d,A2),
	periodo(S1,S2,INF,S2,e,A1,Tipo),
	e_oracoes_coord(S3,S,S3,SUP,d,A3,Tipo,Sep),
	monta_arv(A,e_oracoes_coord2,[A1,A2,A3]).

oracao(S1,S,INF,SUP,_,A,decl):-
	verbo_pronind(S3,S4,INF,SUP,d,A3,ind,_,P,N),
	e_cv_sujeito(S2,S3,INF,S3,e,A2,P,_,N),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S4,S5,S4,SUP,d,A4),
	e_cv_objdir(S5,S,S5,SUP,d,A5),
	monta_arv(A,oracao1,[A1,A2,A3,A4,A5]).

oracao(S1,S,INF,SUP,_,A,decl):-
	verbo_pronind(S3,S4,INF,SUP,d,A3,ind,_,P,N),
	e_cv_sujeito(S2,S3,INF,S3,e,A2,P,_,N),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S4,S5,S4,SUP,d,A4),
	subordobjdireta(S5,S,S5,SUP,d,A5),
	monta_arv(A,oracao2,[A1,A2,A3,A4,A5]).

oracao(S1,S,INF,SUP,_,A,decl):-
	verbo_pron(S3,S4,INF,SUP,d,A3,_,_,P,N,_,_),
	e_cv_sujeito(S2,S3,INF,S3,e,A2,P,_,N),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao3,[A1,A2,A3,A4]).

oracao(S1,S,INF,SUP,_,A,decl):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,P,N,G),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S3,S4,S3,SUP,d,A3),
	cv_sujeito(S4,S,S4,SUP,d,A4,P,G,N),
	monta_arv(A,oracao4,[A1,A2,A3,A4]).

oracao(S1,S,INF,SUP,_,A,decl):-
	verbo_po(S3,S4,INF,SUP,d,A3,ind,_,P,N),
	e_cv_sujeito(S2,S3,INF,S3,e,A2,P,_,N),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S4,S5,S4,SUP,d,A4),
	objdir_po(S5,S6,S5,SUP,d,A5),
	e_r_cv(S6,S,S6,SUP,d,A6),
	monta_arv(A,oracao5,[A1,A2,A3,A4,A5,A6]).

oracao(S1,S,INF,SUP,_,A,decl):-
	verbo_prondir(S3,S4,INF,SUP,d,A3,ind,_,P,N,_,_),
	e_cv_sujeito(S2,S3,INF,S3,e,A2,P,_,N),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S4,S5,S4,SUP,d,A4),
	e_cv_pred_obj(S5,S,S5,SUP,d,A5,_,_),
	monta_arv(A,oracao6,[A1,A2,A3,A4,A5]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S3,S,INF,SUP,d,A3,M,T,P,N,_),
	objdirpron(S2,S3,INF,S3,e,A2,GP,NP),
	objindpron(S1,S2,INF,S2,e,A1),
	monta_arv(A,verbopron1,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S3,S,INF,SUP,d,A3,M,T,P,N,_),
	objpron(S2,S3,INF,S3,e,A2,_,NP),
	objindpron(S1,S2,INF,S2,e,A1),
	monta_arv(A,verbopron2,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S3,S,INF,SUP,d,A3,M,T,P,N,_),
	objdirpron(S2,S3,INF,S3,e,A2,GP,NP),
	objpron(S1,S2,INF,S2,e,A1,_,_),
	monta_arv(A,verbopron3,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S3,S,INF,SUP,d,A3,M,T,P,N,_),
	objpron(S2,S3,INF,S3,e,A2,_,NP),
	objpron(S1,S2,INF,S2,e,A1,_,_),
	monta_arv(A,verbopron4,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S1,S2,INF,SUP,d,A1,M,T,P,N,_),
	objindpron(S2,S3,S2,SUP,d,A2),
	objdirpron(S3,S,S3,SUP,d,A3,GP,NP),
	monta_arv(A,verbopron5,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S1,S2,INF,SUP,d,A1,M,T,P,N,_),
	objindpron(S2,S3,S2,SUP,d,A2),
	objpron(S3,S,S3,SUP,d,A3,_,NP),
	monta_arv(A,verbopron6,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S1,S2,INF,SUP,d,A1,M,T,P,N,_),
	objpron(S2,S3,S2,SUP,d,A2,_,_),
	objdirpron(S3,S,S3,SUP,d,A3,GP,NP),
	monta_arv(A,verbopron7,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S1,S2,INF,SUP,d,A1,M,T,P,N,_),
	objpron(S2,S3,S2,SUP,d,A2,_,_),
	objpron(S3,S,S3,SUP,d,A3,_,NP),
	monta_arv(A,verbopron8,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S2,S3,INF,SUP,d,A2,M,T,P,N,_),
	objindpron(S1,S2,INF,S2,e,A1),
	objdirpron(S3,S,S3,SUP,d,A3,GP,NP),
	monta_arv(A,verbopron9,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S2,S3,INF,SUP,d,A2,M,T,P,N,_),
	objindpron(S1,S2,INF,S2,e,A1),
	objpron(S3,S,S3,SUP,d,A3,_,NP),
	monta_arv(A,verbopron10,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S2,S3,INF,SUP,d,A2,M,T,P,N,_),
	objpron(S1,S2,INF,S2,e,A1,_,_),
	objdirpron(S3,S,S3,SUP,d,A3,GP,NP),
	monta_arv(A,verbopron11,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S2,S3,INF,SUP,d,A2,M,T,P,N,_),
	objpron(S1,S2,INF,S2,e,A1,_,_),
	objpron(S3,S,S3,SUP,d,A3,_,NP),
	monta_arv(A,verbopron12,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S2,S3,INF,SUP,d,A2,M,T,P,N,_),
	objdirpron(S1,S2,INF,S2,e,A1,GP,NP),
	objindpron(S3,S,S3,SUP,d,A3),
	monta_arv(A,verbopron13,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S2,S3,INF,SUP,d,A2,M,T,P,N,_),
	objdirpron(S1,S2,INF,S2,e,A1,GP,NP),
	objpron(S3,S,S3,SUP,d,A3,_,_),
	monta_arv(A,verbopron14,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S2,S3,INF,SUP,d,A2,M,T,P,N,_),
	objpron(S1,S2,INF,S2,e,A1,_,NP),
	objindpron(S3,S,S3,SUP,d,A3),
	monta_arv(A,verbopron15,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S2,S3,INF,SUP,d,A2,M,T,P,N,_),
	objpron(S1,S2,INF,S2,e,A1,_,NP),
	objpron(S3,S,S3,SUP,d,A3,_,_),
	monta_arv(A,verbopron16,[A1,A2,A3]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S2,S,INF,SUP,d,A2,M,T,P,N,_),
	objpron(S1,S2,INF,S2,e,A1,GP,NP),
	monta_arv(A,verbopron17,[A1,A2]).

verbo_pron(S1,S,INF,SUP,_,A,M,T,P,N,GP,NP):-
	verbal(S1,S2,INF,SUP,d,A1,M,T,P,N,_),
	objpron(S2,S,S2,SUP,d,A2,GP,NP),
	monta_arv(A,verbopron18,[A1,A2]).

verbo_pronind(S1,S,INF,SUP,_,A,M,T,P,N):-
	verbal(S2,S,INF,SUP,d,A2,M,T,P,N,_),
	objindpron(S1,S2,INF,S2,e,A1),
	monta_arv(A,verbo_pronind1,[A1,A2]).

verbo_pronind(S1,S,INF,SUP,_,A,M,T,P,N):-
	verbal(S1,S2,INF,SUP,d,A1,M,T,P,N,_),
	e_objindpron(S2,S,S2,SUP,d,A2),
	monta_arv(A,verbo_pronind2,[A1,A2]).

verbo_prondir(S1,S,INF,SUP,_,A,M,T,P,N,_,_):-
	verbal(S2,S,INF,SUP,d,A2,M,T,P,N,_),
	objdirpron(S1,S2,INF,S2,e,A1,_,_),
	monta_arv(A,verbo_prondir1,[A1,A2]).

verbo_prondir(S1,S,INF,SUP,_,A,M,T,P,N,_,_):-
	verbal(S1,S2,INF,SUP,d,A1,M,T,P,N,_),
	objdirpron(S2,S,S2,SUP,d,A2,_,_),
	monta_arv(A,verbo_prondir2,[A1,A2]).

verbo_po(S1,S,INF,SUP,_,A,M,T,P,N):-
	verbal(S1,S,INF,SUP,d,A1,M,T,P,N,_),
	monta_arv(A,verbo_pred_obj1,[A1]).

objdir_po(S1,S,INF,SUP,_,A):-
	objdir(S1,S2,INF,SUP,d,A1),
	e_r_cv(S2,S3,S2,SUP,d,A2),
	pred_obj(S3,S,S3,SUP,d,A3,_,_),
	monta_arv(A,objeto_direto_po1,[A1,A2,A3]).

objdir_po(S1,S,INF,SUP,_,A):-
	subordobjdireta(S1,S2,INF,SUP,d,A1),
	e_r_cv(S2,S3,S2,SUP,d,A2),
	pred_obj(S3,S,S3,SUP,d,A3,_,_),
	monta_arv(A,objeto_direto_po2,[A1,A2,A3]).

objdir_po(S1,S,INF,SUP,_,A):-
	objdir(S3,S,INF,SUP,d,A3),
	e_r_cv(S2,S3,INF,S3,e,A2),
	pred_obj(S1,S2,INF,S2,e,A1,_,_),
	monta_arv(A,objeto_direto_po3,[A1,A2,A3]).

objdir_po(S1,S,INF,SUP,_,A):-
	subordobjdireta(S3,S,INF,SUP,d,A3),
	e_r_cv(S2,S3,INF,S3,e,A2),
	pred_obj(S1,S2,INF,S2,e,A1,_,_),
	monta_arv(A,objeto_direto_po4,[A1,A2,A3]).

objpron(S1,S,INF,SUP,_,A,G,N):-
	pronoblatono(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,objeto_pronominal1,[A1]).

objdirpron(S1,S,INF,SUP,_,A,_,_):-
	pronoblatono1(S1,S,INF,SUP,d,A1,_,_),
	monta_arv(A,objeto_dir_pronominal1,[A1]).

objindpron(S1,S,INF,SUP,_,A):-
	pronoblatono2(S1,S,INF,SUP,d,A1,_,_),
	monta_arv(A,objeto_ind_pronominal1,[A1]).

objindpron(S1,S,INF,SUP,_,A):-
	preposicao(S1,S2,INF,SUP,d,A1),
	pronobltonico1(S2,S,S2,SUP,d,A2),
	monta_arv(A,objeto_indireto1,[A1,A2]).

objindpron(S1,S,INF,SUP,_,A):-
	pronobltonico2(S1,S,INF,SUP,d,A1),
	monta_arv(A,objeto_indireto,[A1]).

e_objpron(S,S,_,_,_,e_objpron1,_,_).

e_objpron(S1,S,INF,SUP,_,A,G,N):-
	objpron(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,e_objpron2,[A1]).

e_objindpron(S,S,_,_,_,e_objindpron1).

e_objindpron(S1,S,INF,SUP,_,A):-
	objindpron(S1,S,INF,SUP,d,A1),
	monta_arv(A,e_objindpron2,[A1]).

e_cv_objdir(S,S,_,_,_,e_cv_objdir1).

e_cv_objdir(S1,S,INF,SUP,_,A):-
	objdir(S1,S2,INF,SUP,d,A1),
	e_r_cv(S2,S,S2,SUP,d,A2),
	monta_arv(A,e_cv_objdir2,[A1,A2]).

objdir(S1,S,INF,SUP,_,A):-
	sintagmanominal_geral(S1,S,INF,SUP,d,A1,_,_),
	monta_arv(A,objeto_direto1,[A1]).

e_cv_pred_obj(S,S,_,_,_,e_cv_pred_obj1,_,_).

e_cv_pred_obj(S1,S,INF,SUP,_,A,G,N):-
	pred_obj(S1,S2,INF,SUP,d,A1,G,N),
	e_r_cv(S2,S,S2,SUP,d,A2),
	monta_arv(A,e_cv_pred_obj2,[A1,A2]).

pred_obj(S1,S,INF,SUP,_,A,_,_):-
	sintagmanominal(S1,S,INF,SUP,d,A1,_,_),
	monta_arv(A,predicativo_objeto1,[A1]).

pred_obj(S1,S,INF,SUP,_,A,G,N):-
	sintagmaadjetivo(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,predicativo_objeto2,[A1]).

e_cv_sujeito(S,S,_,_,_,e_cv_sujeito1,_,_,_).

e_cv_sujeito(S1,S,INF,SUP,_,A,PESSOA,G,N):-
	cv_sujeito(S1,S,INF,SUP,d,A1,PESSOA,G,N),
	monta_arv(A,e_cv_sujeito2,[A1]).

cv_sujeito(S1,S,INF,SUP,_,A,PESSOA,G,N):-
	sujeito(S1,S2,INF,SUP,d,A1,PESSOA,G,N),
	e_r_cv(S2,S,S2,SUP,d,A2),
	monta_arv(A,e_cv_sujeito3,[A1,A2]).

cv_subsuj(S1,S,INF,SUP,_,A):-
	subordsubjetiva(S1,S2,INF,SUP,d,A1),
	e_r_cv(S2,S,S2,SUP,d,A2),
	monta_arv(A,cv_subsuj1,[A1,A2]).

sujeito(S1,S,INF,SUP,_,A,_,G,N):-
	sintagmanominal_geral(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,sujeito1,[A1]).

sujeito(S1,S,INF,SUP,_,A,PESSOA,G,N):-
	pronomereto(S1,S,INF,SUP,d,A1,PESSOA,G,N),
	monta_arv(A,sujeito3,[A1]).

sujeito(S1,S,INF,SUP,_,A,PESSOA,G,N):-
	pronomedemonst(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,sujeito4,[A1]).

e_r_cv(S,S,_,_,_,e_r_cv1).

e_r_cv(S1,S,INF,SUP,_,A):-
	cv(S1,S2,INF,SUP,d,A1),
	e_r_cv(S2,S,S2,SUP,d,A2),
	monta_arv(A,e_r_cv2,[A1,A2]).

cv(S1,S,INF,SUP,_,A):-
	adjntadverb(S1,S,INF,SUP,d,A1),
	monta_arv(A,cv1,[A1]).

cv(S1,S,INF,SUP,_,A):-
	prepcompl(S1,S,INF,SUP,d,A1),
	monta_arv(A,cv2,[A1]).

adjntadverb(S1,S,INF,SUP,_,A):-
	adverb(S2,S3,INF,SUP,d,A2),
	virgula(S1,S2,INF,S2,e,A1),
	virgula(S3,S,S3,SUP,d,A3),
	monta_arv(A,adjntadverb3,[A1,A2,A3]).

adjntadverb(S1,S,INF,SUP,_,A):-
	adverb(S1,S2,INF,SUP,d,A1),
	virgula(S2,S,S2,SUP,d,A2),
	monta_arv(A,djntadverb2,[A1,A2]).

adjntadverb(S1,S,INF,SUP,_,A):-
	adverb(S1,S,INF,SUP,d,A1),
	monta_arv(A,adjntadverb1,[A1]).

adverb(S1,S,INF,SUP,_,A):-
	adverbio(S1,S2,INF,SUP,d,A1),
	conjcoordenat(S2,S3,S2,SUP,d,A2),
	cladj(S3,S,S3,SUP,d,A3),
	monta_arv(A,adjunto_adverbial7,[A1,A2,A3]).

adverb(S1,S,INF,SUP,_,A):-
	subordadverbial(S1,S2,INF,SUP,d,A1),
	conjcoordenat(S2,S3,S2,SUP,d,A2),
	cladj(S3,S,S3,SUP,d,A3),
	monta_arv(A,adjunto_adverbial6,[A1,A2,A3]).

adverb(S1,S,INF,SUP,_,A):-
	adverbio(S1,S2,INF,SUP,d,A1),
	cladj(S2,S,S2,SUP,d,A2),
	monta_arv(A,adjunto_adverbial5,[A1,A2]).

adverb(S1,S,INF,SUP,_,A):-
	subordadverbial(S1,S2,INF,SUP,d,A1),
	cladj(S2,S,S2,SUP,d,A2),
	monta_arv(A,adjunto_adverbial4,[A1,A2]).

adverb(S1,S,INF,SUP,_,A):-
	subordadverbial(S1,S,INF,SUP,d,A1),
	monta_arv(A,adjunto_adverbial3,[A1]).

adverb(S1,S,INF,SUP,_,A):-
	adverbio(S1,S,INF,SUP,d,A1),
	monta_arv(A,adjunto_adverbial2,[A1]).

adverb(S1,S,INF,SUP,_,A):-
	adjetivo(S1,S,INF,SUP,d,A1,_,_),
	monta_arv(A,adjunto_adverbial1,[A1]).

subordadverbial(S1,S,INF,SUP,_,A):-
	adverbio(S1,S2,INF,SUP,d,A1),
	subordinada(S2,S,S2,SUP,d,A2,ger),
	monta_arv(A,or_subordinada_adverbial1,[A1,A2]).

cladj(S1,S,INF,SUP,_,A):-
	adverbio(S1,S,INF,SUP,d,A1),
	monta_arv(A,cladj1,[A1]).

cladj(S1,S,INF,SUP,_,A):-
	subordadverbial(S1,S,INF,SUP,d,A1),
	monta_arv(A,cladj2,[A1]).

cladj(S1,S,INF,SUP,_,A):-
	adjntadverb(S1,S2,INF,SUP,d,A1),
	conjcoordenat(S2,S3,S2,SUP,d,A2),
	cladj(S3,S,S3,SUP,d,A3),
	monta_arv(A,cladj3,[A1,A2,A3]).

subordsubjetiva(S1,S,INF,SUP,_,A):-
	subordinada(S1,S,INF,SUP,d,A1,inf),
	monta_arv(A,or_sub_subjetiva1,[A1]).

subordsubjetiva(S1,S,INF,SUP,_,A):-
	subordinada(S1,S,INF,SUP,d,A1,ger),
	monta_arv(A,or_sub_subjetiva2,[A1]).

subordobjdireta(S1,S,INF,SUP,_,A):-
	subordinada(S1,S,INF,SUP,d,A1,inf),
	monta_arv(A,or_sub_objetiva_direta1,[A1]).

subordobjdireta(S1,S,INF,SUP,_,A):-
	subordinada(S1,S,INF,SUP,d,A1,ger),
	monta_arv(A,or_sub_objetiva_direta2,[A1]).

subordobjdireta(S1,S,INF,SUP,_,A):-
	subordinada(S2,S,INF,SUP,d,A2,inf),
	conjsubordinat(S1,S2,INF,S2,e,A1),
	monta_arv(A,or_sub_objetiva_direta3,[A1,A2]).

subordobjdireta(S1,S,INF,SUP,_,A):-
	subordinada(S2,S,INF,SUP,d,A2,ger),
	conjsubordinat(S1,S2,INF,S2,e,A1),
	monta_arv(A,or_sub_objetiva_direta4,[A1,A2]).

subordinada(S1,S,INF,SUP,_,A,T):-
	verbo_pronind(S3,S4,INF,SUP,d,A3,_,T,P,N),
	e_cv_sujeito(S2,S3,INF,S3,e,A2,P,_,N),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S4,S5,S4,SUP,d,A4),
	e_cv_objdir(S5,S,S5,SUP,d,A5),
	monta_arv(A,subordinada1,[A1,A2,A3,A4,A5]).

subordinada(S1,S,INF,SUP,_,A,T):-
	verbo_pron(S3,S4,INF,SUP,d,A3,_,T,P,N,_,_),
	e_cv_sujeito(S2,S3,INF,S3,e,A2,P,_,N),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S4,S,S4,SUP,d,A4),
	monta_arv(A,subordinada2,[A1,A2,A3,A4]).

subordinada(S1,S,INF,SUP,_,A,T):-
	verbal(S2,S3,INF,SUP,d,A2,_,T,P,N,G),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S3,S4,S3,SUP,d,A3),
	cv_sujeito(S4,S,S4,SUP,d,A4,P,G,N),
	monta_arv(A,subordinada3,[A1,A2,A3,A4]).

subordinada(S1,S,INF,SUP,_,A,T):-
	verbo_po(S3,S4,INF,SUP,d,A3,_,T,P,N),
	e_cv_sujeito(S2,S3,INF,S3,e,A2,P,_,N),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S4,S5,S4,SUP,d,A4),
	objdir_po(S5,S6,S5,SUP,d,A5),
	e_r_cv(S6,S,S6,SUP,d,A6),
	monta_arv(A,subordinada4,[A1,A2,A3,A4,A5,A6]).

subordinada(S1,S,INF,SUP,_,A,T):-
	verbo_prondir(S3,S4,INF,SUP,d,A3,_,T,P,N,_,_),
	e_cv_sujeito(S2,S3,INF,S3,e,A2,P,_,N),
	e_r_cv(S1,S2,INF,S2,e,A1),
	e_r_cv(S4,S5,S4,SUP,d,A4),
	e_cv_pred_obj(S5,S,S5,SUP,d,A5,_,_),
	monta_arv(A,subordinada5,[A1,A2,A3,A4,A5]).

prepcompl(S1,S,INF,SUP,_,A):-
	complemento(S2,S3,INF,SUP,d,A2),
	virgula(S1,S2,INF,S2,e,A1),
	virgula(S3,S,S3,SUP,d,A3),
	monta_arv(A,prepcompl2,[A1,A2,A3]).

prepcompl(S1,S,INF,SUP,_,A):-
	complemento(S1,S2,INF,SUP,d,A1),
	virgula(S2,S,S2,SUP,d,A2),
	monta_arv(A,prepcompl3,[A1,A2]).

prepcompl(S1,S,INF,SUP,_,A):-
	complemento(S1,S,INF,SUP,d,A1),
	monta_arv(A,prepcompl1,[A1]).

complemento(S1,S,INF,SUP,_,A):-
	preposicao(S1,S2,INF,SUP,d,A1),
	subordinada(S2,S,S2,SUP,d,A2,ger),
	monta_arv(A,complemento1,[A1,A2]).

complemento(S1,S,INF,SUP,_,A):-
	preposicao(S1,S2,INF,SUP,d,A1),
	subordinada(S2,S,S2,SUP,d,A2,inf),
	monta_arv(A,complemento2,[A1,A2]).

complemento(S1,S,INF,SUP,_,A):-
	sintagmapreposicional_composto(S1,S,INF,SUP,d,A1),
	monta_arv(A,complemento3,[A1]).

complemento(S1,S,INF,SUP,_,A):-
	sintagmapreposicional(S1,S,INF,SUP,d,A1),
	monta_arv(A,complemento4,[A1]).

e_preposicao(S,S,_,_,_,e_preposicao1).

e_preposicao(S1,S,INF,SUP,_,A):-
	preposicao(S1,S,INF,SUP,d,A1),
	monta_arv(A,e_preposicao2,[A1]).

e_sintagmapreposicional_composto(S,S,_,_,_,e_sintagmapreposicional_composto1).

e_sintagmapreposicional_composto(S1,S,INF,SUP,_,A):-
	sintagmapreposicional_composto(S1,S,INF,SUP,d,A1),
	monta_arv(A,e_sintagmapreposicional_composto2,[A1]).

e_r_sintagmapreposicional(S,S,_,_,_,e_r_sintagmapreposicional1).

e_r_sintagmapreposicional(S1,S,INF,SUP,_,A):-
	sintagmapreposicional(S1,S2,INF,SUP,d,A1),
	e_r_sintagmapreposicional(S2,S,S2,SUP,d,A2),
	monta_arv(A,e_r_sintagmapreposicional2,[A1,A2]).

sintagmapreposicional_composto(S1,S,INF,SUP,_,A):-
	conjcoordenat(S3,S4,INF,SUP,d,A3),
	sintagmapreposicional(S2,S3,INF,S3,e,A2),
	e_sintagmapreposicional_coord(S1,S2,INF,S2,e,A1),
	sintagmapreposicional(S4,S,S4,SUP,d,A4),
	monta_arv(A,sintagma_preposicional_composto,[A1,A2,A3,A4]).

e_sintagmapreposicional_coord(S,S,_,_,_,e_sintagmapreposicional_coord1).

e_sintagmapreposicional_coord(S1,S,INF,SUP,_,A):-
	virgula(S2,S3,INF,SUP,d,A2),
	sintagmapreposicional(S1,S2,INF,S2,e,A1),
	e_sintagmapreposicional_coord(S3,S,S3,SUP,d,A3),
	monta_arv(A,e_sintagmapreposicional_coord2,[A1,A2,A3]).

sintagmapreposicional(S1,S,INF,SUP,_,A):-
	preposicao(S1,S2,INF,SUP,d,A1),
	sintagmanominal_geral(S2,S,S2,SUP,d,A2,_,_),
	monta_arv(A,sintagmapreposicional,[A1,A2]).

sintagmanominal_geral(S1,S,INF,SUP,_,A,G,N):-
	sintagmanominal(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,sintagmanominal_geral1,[A1]).

sintagmanominal_geral(S1,S,INF,SUP,_,A,G,N):-
	sintagmanominal_composto(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,sintagmanominal_geral2,[A1]).

sintagmanominal_composto(S1,S,INF,SUP,_,A,_,plu):-
	conjcoordenat(S3,S4,INF,SUP,d,A3),
	sintagmanominal(S2,S3,INF,S3,e,A2,_,_),
	e_sintagmanominal_coord(S1,S2,INF,S2,e,A1,_,_),
	sintagmanominal(S4,S,S4,SUP,d,A4,_,_),
	monta_arv(A,sintagma_nominal_composto1,[A1,A2,A3,A4]).

e_sintagmanominal_coord(S,S,_,_,_,e_sintagmanominal_coord1,_,_).

e_sintagmanominal_coord(S1,S,INF,SUP,_,A,_,_):-
	virgula(S2,S3,INF,SUP,d,A2),
	sintagmanominal(S1,S2,INF,S2,e,A1,_,_),
	e_sintagmanominal_coord(S3,S,S3,SUP,d,A3,_,_),
	monta_arv(A,e_sintagmanominal_coord2,[A1,A2,A3]).

sintagmanominal(S1,S,INF,SUP,_,A,G,N):-
	nucleo(S2,S3,INF,SUP,d,A2,G,N),
	e_areaesq(S1,S2,INF,S2,e,A1,G,N),
	e_areadir(S3,S4,S3,SUP,d,A3,G,N),
	e_identificador(S4,S,S4,SUP,d,A4,_,N),
	monta_arv(A,sintagma_nominal1,[A1,A2,A3,A4]).

sintagmanominal(S1,S,INF,SUP,_,A,G,N):-
	nucleo(S2,S3,INF,SUP,d,A2,G,N),
	e_areaesq(S1,S2,INF,S2,e,A1,G,N),
	e_areadir(S3,S4,S3,SUP,d,A3,G,N),
	predeterm(S4,S5,S4,SUP,d,A4,G,N),
	e_identificador(S5,S,S5,SUP,d,A5,_,N),
	monta_arv(A,sintagma_nominal2,[A1,A2,A3,A4,A5]).

sintagmanominal(S1,S,INF,SUP,_,A,G,N):-
	nucleo_indefinido(S1,S2,INF,SUP,d,A1,G,N),
	e_r_modificadores(S2,S,S2,SUP,d,A2,_,N),
	monta_arv(A,sintagma_nominal3,[A1,A2]).

sintagmanominal(S1,S,INF,SUP,_,A,G,N):-
	cardinal(S1,S2,INF,SUP,d,A1,G,N),
	e_r_modificadores(S2,S,S2,SUP,d,A2,_,N),
	monta_arv(A,sintagma_nominal4,[A1,A2]).

sintagmanominal(S1,S,INF,SUP,_,A,G,N):-
	determinante(S1,S2,INF,SUP,d,A1,G,N),
	adjetivo(S2,S,S2,SUP,d,A2,G,N),
	monta_arv(A,sintagma_nominal5,[A1,A2]).

e_predeterm(S,S,_,_,_,e_predeterm1,_,_).

e_predeterm(S1,S,INF,SUP,_,A,G,N):-
	predeterm(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,e_predeterm2,[A1]).

e_areaesq(S1,S,INF,SUP,d,A,G,N):-
	e_determinante(S1,S2,INF,SUP,d,A1,G,N),
	e_n_pronposse(S2,S3,S2,SUP,d,A2,G,N),
	e_n_reflexao(S3,S4,S3,SUP,d,A3,G,N),
	e_n_quantificador(S4,S5,S4,SUP,d,A4,G,N),
	e_n_prenucleo(S5,S,S5,SUP,d,A5,G,N),
	monta_arv(A,e_areaesq1,[A1,A2,A3,A4,A5]).

e_areaesq(S1,S,INF,SUP,e,A,G,N):-
	e_n_prenucleo(S5,S,INF,SUP,e,A5,G,N),
	e_n_quantificador(S4,S5,INF,S5,e,A4,G,N),
	e_n_reflexao(S3,S4,INF,S4,e,A3,G,N),
	e_n_pronposse(S2,S3,INF,S3,e,A2,G,N),
	e_determinante(S1,S2,INF,S2,e,A1,G,N),
	monta_arv(A,e_areaesq1,[A1,A2,A3,A4,A5]).

e_determinante(S,S,_,_,_,e_determinante1,_,_).

e_determinante(S1,S,INF,SUP,_,A,G,N):-
	determinante(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,e_determinante2,[A1]).

determinante(S1,S,INF,SUP,_,A,G,N):-
	artigo(S2,S,INF,SUP,d,A2,G,N),
	e_predeterm(S1,S2,INF,S2,e,A1,G,N),
	monta_arv(A,determinante1,[A1,A2]).

determinante(S1,S,INF,SUP,_,A,G,N):-
	pronomedemonst(S2,S,INF,SUP,d,A2,G,N),
	e_predeterm(S1,S2,INF,S2,e,A1,G,N),
	monta_arv(A,determinante2,[A1,A2]).

determinante(S1,S,INF,SUP,_,A,G,N):-
	pronindef(S2,S,INF,SUP,d,A2,G,N),
	e_predeterm(S1,S2,INF,S2,e,A1,G,N),
	monta_arv(A,determinante3,[A1,A2]).

e_n_pronposse(S,S,_,_,_,e_n_pronposse1,_,_).

e_n_pronposse(S1,S,INF,SUP,_,A,G,N):-
	pronposse(S2,S,INF,SUP,d,A2,G,N),
	e_exprnumero(S1,S2,INF,S2,e,A1,G,N),
	monta_arv(A,e_n_pronposse2,[A1,A2]).

e_exprnumero(S1,S,INF,SUP,d,A,G,N):-
	e_outro(S1,S2,INF,SUP,d,A1,G,N),
	e_numero(S2,S,S2,SUP,d,A2,G,N),
	monta_arv(A,e_exprnumero1,[A1,A2]).

e_exprnumero(S1,S,INF,SUP,e,A,G,N):-
	e_numero(S2,S,INF,SUP,e,A2,G,N),
	e_outro(S1,S2,INF,S2,e,A1,G,N),
	monta_arv(A,e_exprnumero1,[A1,A2]).

e_outro(S,S,_,_,_,e_outro1,_,_).

e_outro(S1,S,INF,SUP,_,A,G,N):-
	outro(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,e_outro2,[A1]).

outro(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,'outro',ind,_,_,G,N,_),
	monta_arv(A,outro,[A1]).

e_numero(S,S,_,_,_,e_numero1,_,_).

e_numero(S1,S,INF,SUP,_,A,G,N):-
	numero(S1,S2,INF,SUP,d,A1,G,N),
	outro(S2,S,S2,SUP,d,A2,G,N),
	monta_arv(A,e_numero2,[A1,A2]).

e_numero(S1,S,INF,SUP,_,A,G,N):-
	numero(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,e_numero3,[A1]).

e_n_reflexao(S,S,_,_,_,e_n_reflexao1,_,_).

e_n_reflexao(S1,S,INF,SUP,_,A,G,N):-
	reflexao(S2,S,INF,SUP,d,A2,G,N),
	e_exprnumero(S1,S2,INF,S2,e,A1,G,N),
	monta_arv(A,e_n_reflexao2,[A1,A2]).

e_n_quantificador(S,S,_,_,_,e_n_quantificador1,_,_).

e_n_quantificador(S1,S,INF,SUP,_,A,G,N):-
	quantificador(S2,S,INF,SUP,d,A2,G,N),
	e_exprnumero(S1,S2,INF,S2,e,A1,G,N),
	monta_arv(A,e_n_quantificador2,[A1,A2]).

quantificador(S1,S,INF,SUP,_,A,G,N):-
	ordinal(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,quantificador1,[A1]).

quantificador(S1,S,INF,SUP,_,A,G,N):-
	pronindef(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,quantificador2,[A1]).

e_n_prenucleo(S,S,_,_,_,e_prenucleo1,_,_).

e_n_prenucleo(S1,S,INF,SUP,_,A,G,N):-
	prenucleo(S2,S,INF,SUP,d,A2,G,N),
	e_exprnumero(S1,S2,INF,S2,e,A1,G,N),
	monta_arv(A,e_prenucleo2,[A1,A2]).

prenucleo(S1,S,INF,SUP,_,A,G,N):-
	sintagmaadjetivo_geral(S1,S2,INF,SUP,d,A1,G,N),
	e_ordinal(S2,S,S2,SUP,d,A2,G,N),
	monta_arv(A,prenucleo1,[A1,A2]).

e_ordinal(S,S,_,_,_,e_ordinal1,_,_).

e_ordinal(S1,S,INF,SUP,_,A,G,N):-
	ordinal(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,e_ordinal2,[A1]).

e_sintagmaadjetivo_geral(S,S,_,_,_,e_sintagmaadjetivo_geral1,_,_).

e_sintagmaadjetivo_geral(S1,S,INF,SUP,_,A,G,N):-
	sintagmaadjetivo_geral(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,e_sintagmaadjetivo_geral2,[A1]).

sintagmaadjetivo_geral(S1,S,INF,SUP,_,A,G,N):-
	sintagmaadjetivo_composto(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,sintagmaadjetivo_geral1,[A1]).

sintagmaadjetivo_geral(S1,S,INF,SUP,_,A,G,N):-
	sintagmaadjetivo(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,sintagmaadjetivo_geral2,[A1]).

sintagmaadjetivo_composto(S1,S,INF,SUP,_,A,G,N):-
	conjcoordenat(S3,S4,INF,SUP,d,A3),
	sintagmaadjetivo(S2,S3,INF,S3,e,A2,G,N),
	e_sintagmaadjetivo_coord(S1,S2,INF,S2,e,A1,G,N),
	sintagmaadjetivo(S4,S,S4,SUP,d,A4,G,N),
	monta_arv(A,sintagma_adjetivo_composto1,[A1,A2,A3,A4]).

e_sintagmaadjetivo_coord(S,S,_,_,_,e_sintagmaadjetivo_coord1,_,_).

e_sintagmaadjetivo_coord(S1,S,INF,SUP,_,A,G,N):-
	virgula(S2,S3,INF,SUP,d,A2),
	sintagmaadjetivo(S1,S2,INF,S2,e,A1,G,N),
	e_sintagmaadjetivo_coord(S3,S,S3,SUP,d,A3,G,N),
	monta_arv(A,e_sintagmaadjetivo_coord2,[A1,A2,A3]).

sintagmaadjetivo(S1,S,INF,SUP,_,A,G,N):-
	nucleo_adjetivo(S2,S3,INF,SUP,d,A2,G,N),
	e_r_adverbio(S1,S2,INF,S2,e,A1),
	e_r_complsintagmaadjetivo(S3,S,S3,SUP,d,A3),
	monta_arv(A,sintagmaadjetivo1,[A1,A2,A3]).

e_r_adverbio(S,S,_,_,_,e_r_adverbio1).

e_r_adverbio(S1,S,INF,SUP,_,A):-
	adverbio(S1,S2,INF,SUP,d,A1),
	e_r_adverbio(S2,S,S2,SUP,d,A2),
	monta_arv(A,e_r_adverbio2,[A1,A2]).

nucleo_adjetivo(S1,S,INF,SUP,_,A,G,N):-
	adjetivo(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,nucleo_adjetivo1,[A1]).

nucleo_adjetivo(S1,S,INF,SUP,_,A,_,N):-
	verbal(S1,S,INF,SUP,d,A1,_,part,_,N,_),
	monta_arv(A,nucleo_adjetivo2,[A1]).

e_r_complsintagmaadjetivo(S,S,_,_,_,e_r_complsintagmaadjetivo1).

e_r_complsintagmaadjetivo(S1,S,INF,SUP,_,A):-
	complsintagmaadjetivo(S1,S2,INF,SUP,d,A1),
	e_r_complsintagmaadjetivo(S2,S,S2,SUP,d,A2),
	monta_arv(A,e_r_complsintagmaadjetivo2,[A1,A2]).

complsintagmaadjetivo(S1,S,INF,SUP,_,A):-
	adverbio(S1,S,INF,SUP,d,A1),
	monta_arv(A,complsintagmaadjetivo1,[A1]).

complsintagmaadjetivo(S1,S,INF,SUP,_,A):-
	sintagmapreposicional(S1,S,INF,SUP,d,A1),
	monta_arv(A,complsintagmaadjetivo2,[A1]).

nucleo(S1,S,INF,SUP,_,A,G,N):-
	substantivo(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,nucleo,[A1]).

e_areadir(S1,S,INF,SUP,d,A,G,N):-
	e_modificadorinterno(S1,S2,INF,SUP,d,A1,_,N),
	e_predeterm(S2,S3,S2,SUP,d,A2,G,N),
	e_r_modificadores(S3,S,S3,SUP,d,A3,_,N),
	monta_arv(A,e_areadir1,[A1,A2,A3]).

e_areadir(S1,S,INF,SUP,e,A,G,N):-
	e_r_modificadores(S3,S,INF,SUP,e,A3,_,N),
	e_predeterm(S2,S3,INF,S3,e,A2,G,N),
	e_modificadorinterno(S1,S2,INF,S2,e,A1,_,N),
	monta_arv(A,e_areadir1,[A1,A2,A3]).

e_modificadorinterno(S,S,_,_,_,e_modificadorinterno1,_,_).

e_modificadorinterno(S1,S,INF,SUP,_,A,G,N):-
	substantivo(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,e_modificador_interno2,[A1]).

e_modificadorinterno(S1,S,INF,SUP,_,A,G,N):-
	pronindef(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,e_modificador_interno3,[A1]).

e_r_modificadores(S,S,_,_,_,e_r_modificadores1,_,_).

e_r_modificadores(S1,S,INF,SUP,d,A,_,N):-
	modificadores(S1,S2,INF,SUP,d,A1,_,N),
	e_r_modificadores(S2,S,S2,SUP,d,A2,_,N),
	monta_arv(A,e_r_modificadores2,[A1,A2]).

e_r_modificadores(S1,S,INF,SUP,e,A,_,N):-
	e_r_modificadores(S2,S,INF,SUP,e,A2,_,N),
	modificadores(S1,S2,INF,S2,e,A1,_,N),
	monta_arv(A,e_r_modificadores2,[A1,A2]).

modificadores(S1,S,INF,SUP,_,A,_,_):-
	sintagmapreposicional(S1,S,INF,SUP,d,A1),
	monta_arv(A,modificadores1,[A1]).

modificadores(S1,S,INF,SUP,_,A,_,N):-
	sintagmaadjetivo(S1,S,INF,SUP,d,A1,_,N),
	monta_arv(A,modificadores2,[A1]).

modificadores(S1,S,INF,SUP,_,A,_,N):-
	preposicao(S1,S2,INF,SUP,d,A1),
	sintagmaadjetivo(S2,S,S2,SUP,d,A2,_,N),
	monta_arv(A,modificadores3,[A1,A2]).

e_virgula(S,S,_,_,_,e_virgula1).

e_virgula(S1,S,INF,SUP,_,A):-
	virgula(S1,S,INF,SUP,d,A1),
	monta_arv(A,e_virgula2,[A1]).

e_identificador(S,S,_,_,_,e_identificador1,_,_).

e_identificador(S1,S,INF,SUP,_,A,P,N):-
	identificador(S1,S,INF,SUP,d,A1,P,N),
	monta_arv(A,e_identificador2,[A1]).

identificador(S1,S,INF,SUP,_,A,_,_):-
	apostovocat(S1,S,INF,SUP,d,A1),
	monta_arv(A,identificador1,[A1]).

identificador(S1,S,INF,SUP,_,A,P,N):-
	oraexplic(S1,S,INF,SUP,d,A1,P,N),
	monta_arv(A,identificador2,[A1]).

identificador(S1,S,INF,SUP,_,A,P,N):-
	orarestri(S1,S,INF,SUP,d,A1,P,N),
	monta_arv(A,identificador3,[A1]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objdir(S3,S4,S3,SUP,d,A3),
	objindpron(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva1,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objdir(S3,S4,S3,SUP,d,A3),
	prepcompl(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva2,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objdirpron(S3,S4,S3,SUP,d,A3,_,_),
	objindpron(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva3,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objdirpron(S3,S4,S3,SUP,d,A3,_,_),
	prepcompl(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva4,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objpron(S3,S4,S3,SUP,d,A3,_,_),
	objindpron(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva5,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objpron(S3,S4,S3,SUP,d,A3,_,_),
	prepcompl(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva6,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	subordobjdireta(S3,S4,S3,SUP,d,A3),
	objindpron(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva7,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	subordobjdireta(S3,S4,S3,SUP,d,A3),
	prepcompl(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva8,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	e_objpron(S3,S,S3,SUP,d,A3,_,_),
	monta_arv(A,oracao_restritiva9,[A1,A2,A3]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	prepcompl(S3,S,S3,SUP,d,A3),
	monta_arv(A,oracao_restritiva10,[A1,A2,A3]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objdir(S3,S,S3,SUP,d,A3),
	monta_arv(A,oracao_restritiva11,[A1,A2,A3]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objdirpron(S3,S,S3,SUP,d,A3,_,_),
	monta_arv(A,oracao_restritiva12,[A1,A2,A3]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S2,S3,INF,SUP,d,A2,ind,_,PESSOA,N,_),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	subordobjdireta(S3,S,S3,SUP,d,A3),
	monta_arv(A,oracao_restritiva13,[A1,A2,A3]).

orarestri(S1,S,INF,SUP,_,A,_,_):-
	verbal(S3,S,INF,SUP,d,A3,ind,_,PESSOA,N,G),
	sujeito(S2,S3,INF,S3,e,A2,PESSOA,G,N),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	monta_arv(A,oracao_restritiva14,[A1,A2,A3]).

orarestri(S1,S,INF,SUP,_,A,_,_):-
	verbal(S3,S,INF,SUP,d,A3,ind,_,PESSOA,N,G),
	subordsubjetiva(S2,S3,INF,S3,e,A2),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	monta_arv(A,oracao_restritiva15,[A1,A2,A3]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S3,S4,INF,SUP,d,A3,ind,_,PESSOA,N,G),
	sujeito(S2,S3,INF,S3,e,A2,PESSOA,G,N),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objindpron(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva16,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S3,S4,INF,SUP,d,A3,ind,_,PESSOA,N,G),
	sujeito(S2,S3,INF,S3,e,A2,PESSOA,G,N),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objpron(S4,S,S4,SUP,d,A4,_,_),
	monta_arv(A,oracao_restritiva17,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S3,S4,INF,SUP,d,A3,ind,_,PESSOA,N,G),
	sujeito(S2,S3,INF,S3,e,A2,PESSOA,G,N),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	prepcompl(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva18,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S3,S4,INF,SUP,d,A3,ind,_,PESSOA,N,G),
	subordsubjetiva(S2,S3,INF,S3,e,A2),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objindpron(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva19,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S3,S4,INF,SUP,d,A3,ind,_,PESSOA,N,G),
	subordsubjetiva(S2,S3,INF,S3,e,A2),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	objpron(S4,S,S4,SUP,d,A4,_,_),
	monta_arv(A,oracao_restritiva20,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S3,S4,INF,SUP,d,A3,ind,_,PESSOA,N,G),
	subordsubjetiva(S2,S3,INF,S3,e,A2),
	pronomerelativo(S1,S2,INF,S2,e,A1,_,_),
	prepcompl(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva21,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,_,_):-
	verbal(S4,S,INF,SUP,d,A4,ind,_,PESSOA,N,G),
	sujeito(S3,S4,INF,S4,e,A3,PESSOA,G,N),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	monta_arv(A,oracao_restritiva22,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,_,_):-
	verbal(S4,S,INF,SUP,d,A4,ind,_,PESSOA,N,G),
	subordsubjetiva(S3,S4,INF,S4,e,A3),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	monta_arv(A,oracao_restritiva23,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S3,S4,INF,SUP,d,A3,ind,_,PESSOA,N,_),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	objdir(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva24,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S3,S4,INF,SUP,d,A3,ind,_,PESSOA,N,_),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	objpron(S4,S,S4,SUP,d,A4,_,_),
	monta_arv(A,oracao_restritiva25,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,PESSOA,N):-
	verbal(S3,S4,INF,SUP,d,A3,ind,_,PESSOA,N,_),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	subordobjdireta(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_restritiva26,[A1,A2,A3,A4]).

orarestri(S1,S,INF,SUP,_,A,_,_):-
	verbal(S4,S5,INF,SUP,d,A4,ind,_,PESSOA,N,G),
	sujeito(S3,S4,INF,S4,e,A3,PESSOA,G,N),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	objdir(S5,S,S5,SUP,d,A5),
	monta_arv(A,oracao_restritiva27,[A1,A2,A3,A4,A5]).

orarestri(S1,S,INF,SUP,_,A,_,_):-
	verbal(S4,S5,INF,SUP,d,A4,ind,_,PESSOA,N,G),
	sujeito(S3,S4,INF,S4,e,A3,PESSOA,G,N),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	objpron(S5,S,S5,SUP,d,A5,_,_),
	monta_arv(A,oracao_restritiva28,[A1,A2,A3,A4,A5]).

orarestri(S1,S,INF,SUP,_,A,_,_):-
	verbal(S4,S5,INF,SUP,d,A4,ind,_,PESSOA,N,G),
	sujeito(S3,S4,INF,S4,e,A3,PESSOA,G,N),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	subordobjdireta(S5,S,S5,SUP,d,A5),
	monta_arv(A,oracao_restritiva29,[A1,A2,A3,A4,A5]).

orarestri(S1,S,INF,SUP,_,A,_,_):-
	verbal(S4,S5,INF,SUP,d,A4,ind,_,PESSOA,N,G),
	subordsubjetiva(S3,S4,INF,S4,e,A3),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	objdir(S5,S,S5,SUP,d,A5),
	monta_arv(A,oracao_restritiva30,[A1,A2,A3,A4,A5]).

orarestri(S1,S,INF,SUP,_,A,_,_):-
	verbal(S4,S5,INF,SUP,d,A4,ind,_,PESSOA,N,G),
	subordsubjetiva(S3,S4,INF,S4,e,A3),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	objpron(S5,S,S5,SUP,d,A5,_,_),
	monta_arv(A,oracao_restritiva31,[A1,A2,A3,A4,A5]).

orarestri(S1,S,INF,SUP,_,A,_,_):-
	verbal(S4,S5,INF,SUP,d,A4,ind,_,PESSOA,N,G),
	subordsubjetiva(S3,S4,INF,S4,e,A3),
	pronomerelativo(S2,S3,INF,S3,e,A2,_,_),
	preposicao(S1,S2,INF,S2,e,A1),
	subordobjdireta(S5,S,S5,SUP,d,A5),
	monta_arv(A,oracao_restritiva32,[A1,A2,A3,A4,A5]).

apostovocat(S1,S,INF,SUP,_,A):-
	virgula(S1,S2,INF,SUP,d,A1),
	sintagmanominal_geral(S2,S3,S2,SUP,d,A2,_,_),
	virgula(S3,S,S3,SUP,d,A3),
	monta_arv(A,aposto_ou_vocativo,[A1,A2,A3]).

oraexplic(S1,S,INF,SUP,_,A,P,N):-
	virgula(S2,S3,INF,SUP,d,A2),
	e_preposicao(S1,S2,INF,S2,e,A1),
	orarestri(S3,S4,S3,SUP,d,A3,P,N),
	virgula(S4,S,S4,SUP,d,A4),
	monta_arv(A,oracao_subordinada_explicativa,[A1,A2,A3,A4]).

nucleo_indefinido(S1,S,INF,SUP,_,A,G,N):-
	pronindef(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,nucleo_indefinido,[A1]).

numero(S1,S,INF,SUP,_,A,G,N):-
	cardinal(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,numero1,[A1]).

numero(S1,S,INF,SUP,_,A,G,N):-
	pronindef(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,numero2,[A1]).

cardinal(S1,S,INF,SUP,_,A,G,N):-
	r_quantidade(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,cardinal1,[A1]).

r_quantidade(S1,S,INF,SUP,_,A,G,N):-
	ordem(S1,S2,INF,SUP,d,A1,_,mil),
	e_coordenacao(S2,S3,S2,SUP,d,A2),
	r_quantidade(S3,S,S3,SUP,d,A3,G,N),
	monta_arv(A,r_quantidademil1,[A1,A2,A3]).

r_quantidade(S1,S,INF,SUP,_,A,_,_):-
	ordem(S1,S,INF,SUP,d,A1,_,mil),
	monta_arv(A,r_quantidademil2,[A1]).

r_quantidade(S1,S,INF,SUP,_,A,G,N):-
	ordem(S2,S3,INF,SUP,d,A2,N,_),
	quantidade(S1,S2,INF,S2,e,A1,G,N),
	e_coordenacao(S3,S4,S3,SUP,d,A3),
	r_quantidade(S4,S,S4,SUP,d,A4,G,N),
	monta_arv(A,r_quantidade1,[A1,A2,A3,A4]).

r_quantidade(S1,S,INF,SUP,_,A,G,N):-
	quantidade(S1,S2,INF,SUP,d,A1,G,N),
	e_ordem(S2,S,S2,SUP,d,A2,N,_),
	monta_arv(A,r_quantidade2,[A1,A2]).

quantidade(S1,S,INF,SUP,_,A,G,N):-
	centena(S1,S2,INF,SUP,d,A1,G),
	e_dezena(S2,S3,S2,SUP,d,A2),
	e_unidade(S3,S,S3,SUP,d,A3,G,N),
	monta_arv(A,quantidade1,[A1,A2,A3]).

quantidade(S1,S,INF,SUP,_,A,G,_):-
	centena(S1,S2,INF,SUP,d,A1,G),
	e_coordenacao(S2,S3,S2,SUP,d,A2),
	especial(S3,S,S3,SUP,d,A3),
	monta_arv(A,quantidade2,[A1,A2,A3]).

quantidade(S1,S,INF,SUP,_,A,G,N):-
	dezena(S1,S2,INF,SUP,d,A1),
	e_unidade(S2,S,S2,SUP,d,A2,G,N),
	monta_arv(A,quantidade3,[A1,A2]).

quantidade(S1,S,INF,SUP,_,A,_,_):-
	especial(S1,S,INF,SUP,d,A1),
	monta_arv(A,quantidade4,[A1]).

quantidade(S1,S,INF,SUP,_,A,G,N):-
	numeral(S1,S,INF,SUP,d,A1,G,N),
	monta_arv(A,quantidade5,[A1]).

e_ordem(S,S,_,_,_,e_ordem1,_,_).

e_ordem(S1,S,INF,SUP,_,A,N,_):-
	ordem(S1,S,INF,SUP,d,A1,N,_),
	monta_arv(A,e_ordem2,[A1]).

e_coordenacao(S,S,_,_,_,coordenacao1).

e_coordenacao(S1,S,INF,SUP,_,A):-
	coordnum(S1,S,INF,SUP,d,A1),
	monta_arv(A,coordenacao2,[A1]).

e_centena(S,S,_,_,_,centena1,_).

e_centena(S1,S,INF,SUP,_,A,N):-
	centena(S2,S,INF,SUP,d,A2,N),
	e_coordenacao(S1,S2,INF,S2,e,A1),
	monta_arv(A,centena2,[A1,A2]).

e_dezena(S,S,_,_,_,dezena1).

e_dezena(S1,S,INF,SUP,_,A):-
	dezena(S2,S,INF,SUP,d,A2),
	e_coordenacao(S1,S2,INF,S2,e,A1),
	monta_arv(A,dezena2,[A1,A2]).

e_unidade(S,S,_,_,_,unidade1,_,_).

e_unidade(S1,S,INF,SUP,_,A,G,N):-
	numeral(S2,S,INF,SUP,d,A2,G,N),
	e_coordenacao(S1,S2,INF,S2,e,A1),
	monta_arv(A,unidade2,[A1,A2]).

adj(S1,S,INF,SUP,_,A,PAL,CAN,G,N,Gr):-
	x_adj(S1,S,PAL,CAN,G,N,Gr),
	INF =< S1,
	SUP >= S,
	monta_arv(A,adjetivo,[PAL]).

x_adj(0,0,_,_,_,_,_).

adv(S1,S,INF,SUP,_,A,PAL,CAN,TAdv,Gr):-
	x_adv(S1,S,PAL,CAN,TAdv,Gr),
	INF =< S1,
	SUP >= S,
	monta_arv(A,adverbio,[PAL]).

x_adv(0,0,_,_,_,_).

art(S1,S,INF,SUP,_,A,PAL,CAN,Tart,G,N):-
	x_art(S1,S,PAL,CAN,Tart,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,artigo,[PAL]).

x_art(0,0,_,_,_,_,_).

avos(S1,S,INF,SUP,_,A,PAL,CAN,G,N):-
	x_avos(S1,S,PAL,CAN,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,avos,[PAL]).

x_avos(0,0,_,_,_,_).

cod(S1,S,INF,SUP,_,A,PAL,CAN,TCod,G,N):-
	x_cod(S1,S,PAL,CAN,TCod,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,codificacao,[PAL]).

x_cod(0,0,_,_,_,_,_).

coord(S1,S,INF,SUP,_,A,PAL,CAN,TCoord,GCoord,C):-
	x_coord(S1,S,PAL,CAN,TCoord,GCoord,C),
	INF =< S1,
	SUP >= S,
	monta_arv(A,coordenador,[PAL]).

x_coord(0,0,_,_,_,_,_).

comp(S1,S,INF,SUP,_,A,PAL,CAN,TComp):-
	x_comp(S1,S,PAL,CAN,TComp),
	INF =< S1,
	SUP >= S,
	monta_arv(A,comparador,[PAL]).

x_comp(0,0,_,_,_).

conj(S1,S,INF,SUP,_,A,PAL,CAN,TConj,FV,MV):-
	x_conj(S1,S,PAL,CAN,TConj,FV,MV),
	INF =< S1,
	SUP >= S,
	monta_arv(A,conjuncao,[PAL]).

x_conj(0,0,_,_,_,_,_).

interj(S1,S,INF,SUP,_,A,PAL,CAN,TInterj):-
	x_interj(S1,S,PAL,CAN,TInterj),
	INF =< S1,
	SUP >= S,
	monta_arv(A,interjeicao,[PAL]).

x_interj(0,0,_,_,_).

nome(S1,S,INF,SUP,_,A,PAL,CAN,G,N):-
	x_nome(S1,S,PAL,CAN,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,nome_proprio,[PAL]).

x_nome(0,0,_,_,_,_).

num(S1,S,INF,SUP,_,A,PAL,CAN,TNum,GNum,F,G,N,ONum):-
	x_num(S1,S,PAL,CAN,TNum,GNum,F,G,N,ONum),
	INF =< S1,
	SUP >= S,
	monta_arv(A,numeral,[PAL]).

x_num(0,0,_,_,_,_,_,_,_,_).

pont(S1,S,INF,SUP,_,A,PAL,CAN,TPont):-
	x_pont(S1,S,PAL,CAN,TPont),
	INF =< S1,
	SUP >= S,
	monta_arv(A,pontuacao,[PAL]).

x_pont(0,0,_,_,_).

prep(S1,S,INF,SUP,_,A,PAL,CAN):-
	x_prep(S1,S,PAL,CAN),
	INF =< S1,
	SUP >= S,
	monta_arv(A,preposicao,[PAL]).

x_prep(0,0,_,_).

pron(S1,S,INF,SUP,_,A,PAL,CAN,TPron,F,P,G,N):-
	x_pron(S1,S,PAL,CAN,TPron,F,P,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,pronome,[PAL]).

x_pron(0,0,_,_,_,_,_,_,_).

pron(S1,S,INF,SUP,_,A,PAL,CAN,TPron,F,P,G,N,PPron):-
	x_pron(S1,S,PAL,CAN,TPron,F,P,G,N,PPron),
	INF =< S1,
	SUP >= S,
	monta_arv(A,pronome,[PAL]).

x_pron(0,0,_,_,_,_,_,_,_,_).

pron(S1,S,INF,SUP,_,A,PAL,CAN,TPron,F,P,G,N,P2,N2):-
	x_pron(S1,S,PAL,CAN,TPron,F,P,G,N,P2,N2),
	INF =< S1,
	SUP >= S,
	monta_arv(A,pronome,[PAL]).

x_pron(0,0,_,_,_,_,_,_,_,_,_).

rel(S1,S,INF,SUP,_,A,PAL,CAN,FE,FI,P,G,N):-
	x_rel(S1,S,PAL,CAN,FE,FI,P,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,relativo,[PAL]).

x_rel(0,0,_,_,_,_,_,_,_).

sigla(S1,S,INF,SUP,_,A,PAL,CAN,G,N):-
	x_sigla(S1,S,PAL,CAN,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,sigla,[PAL]).

x_sigla(0,0,_,_,_,_).

simb(S1,S,INF,SUP,_,A,PAL,CAN):-
	x_simb(S1,S,PAL,CAN),
	INF =< S1,
	SUP >= S,
	monta_arv(A,simbolos,[PAL]).

x_simb(0,0,_,_).

subst(S1,S,INF,SUP,_,A,PAL,CAN,G,N,Gr):-
	x_subst(S1,S,PAL,CAN,G,N,Gr),
	INF =< S1,
	SUP >= S,
	monta_arv(A,substantivo,[PAL]).

x_subst(0,0,_,_,_,_,_).

verbo(S1,S,INF,SUP,_,A,PAL,CAN,FV,MV,TV,P,N):-
	x_verbo(S1,S,PAL,CAN,FV,MV,TV,P,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,verbo,[PAL]).

x_verbo(0,0,_,_,_,_,_,_,_).

avos(S1,S,INF,SUP,_,A,PAL,CAN,G,N):-
	x_avos(S1,S,PAL,CAN,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,avos,[PAL]).

x_avos(0,0,_,_,_,_).

cod(S1,S,INF,SUP,_,A,PAL,CAN,TCod,G,N):-
	x_cod(S1,S,PAL,CAN,TCod,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,codificacao,[PAL]).

x_cod(0,0,_,_,_,_,_).

comp(S1,S,INF,SUP,_,A,PAL,CAN,TComp):-
	x_comp(S1,S,PAL,CAN,TComp),
	INF =< S1,
	SUP >= S,
	monta_arv(A,comparador,[PAL]).

x_comp(0,0,_,_,_).

interj(S1,S,INF,SUP,_,A,PAL,CAN,TInterj):-
	x_interj(S1,S,PAL,CAN,TInterj),
	INF =< S1,
	SUP >= S,
	monta_arv(A,interjeicao,[PAL]).

x_interj(0,0,_,_,_).

nome(S1,S,INF,SUP,_,A,PAL,CAN,G,N):-
	x_nome(S1,S,PAL,CAN,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,nome_proprio,[PAL]).

x_nome(0,0,_,_,_,_).

sigla(S1,S,INF,SUP,_,A,PAL,CAN,G,N):-
	x_sigla(S1,S,PAL,CAN,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,sigla,[PAL]).

x_sigla(0,0,_,_,_,_).

simb(S1,S,INF,SUP,_,A,PAL,CAN):-
	x_simb(S1,S,PAL,CAN),
	INF =< S1,
	SUP >= S,
	monta_arv(A,simbolos,[PAL]).

x_simb(0,0,_,_).

adjetivo(S1,S,INF,SUP,_,A,G,N):-
	adj(S1,S,INF,SUP,d,A1,_,_,G,N,_),
	monta_arv(A,adjetivo,[A1]).

adverbio(S1,S,INF,SUP,_,A):-
	adv(S1,S,INF,SUP,d,A1,_,_,_,_),
	monta_arv(A,adverbio,[A1]).

artigo(S1,S,INF,SUP,_,A,G,N):-
	art(S1,S,INF,SUP,d,A1,_,_,_,G,N),
	monta_arv(A,artigo,[A1]).

centena(S1,S,INF,SUP,_,A,G):-
	num(S1,S,INF,SUP,d,A1,_,_,car,ext,adj,G,plu,cen),
	monta_arv(A,centena,[A1]).

dezena(S1,S,INF,SUP,_,A):-
	num(S1,S,INF,SUP,d,A1,_,_,car,ext,adj,_,_,dez),
	monta_arv(A,dezena,[A1]).

especial(S1,S,INF,SUP,_,A):-
	num(S1,S,INF,SUP,d,A1,_,_,car,ext,adj,_,_,vin),
	monta_arv(A,especial,[A1]).

numeral(S1,S,INF,SUP,_,A,G,N):-
	num(S1,S,INF,SUP,d,A1,_,_,car,ext,adj,G,N,uni),
	monta_arv(A,numeral,[A1]).

ordem(S1,S,INF,SUP,_,A,_,mil):-
	num(S1,S,INF,SUP,d,A1,_,_,car,ext,adj,_,N,mil),
	monta_arv(A,ordem,[A1]).

ordem(S1,S,INF,SUP,_,A,N,naomil):-
	num(S1,S,INF,SUP,d,A1,_,_,car,ext,sub,_,N,zil),
	monta_arv(A,ordem,[A1]).

ordinal(S1,S,INF,SUP,_,A,G,N):-
	num(S1,S,INF,SUP,d,A1,_,_,ord,ext,adj,G,N,_),
	monta_arv(A,ordinal,[A1]).

conjcoordenat(S1,S,INF,SUP,_,A):-
	pont(S1,S,INF,SUP,d,A1,',',_,med),
	monta_arv(A,conjcoordenat,[A1]).

conjcoordenat(S1,S,INF,SUP,_,A):-
	coord(S1,S,INF,SUP,d,A1,_,_,_,_,_),
	monta_arv(A,conjcoordenat,[A1]).

conjsubordinat(S1,S,INF,SUP,_,A):-
	conj(S1,S,INF,SUP,d,A1,'que',_,_,_,_),
	monta_arv(A,conjsubordinat,[A1]).

coordnum(S1,S,INF,SUP,_,A):-
	pont(S1,S,INF,SUP,d,A1,',',_,med),
	monta_arv(A,coordnum,[A1]).

coordnum(S1,S,INF,SUP,_,A):-
	coord(S1,S,INF,SUP,d,A1,'e',_,_,_,_),
	monta_arv(A,coordnum,[A1]).

pontuacao(S1,S,INF,SUP,_,A,fim):-
	pont(S1,S,INF,SUP,d,A1,_,_,fin),
	monta_arv(A,pontuacao,[A1]).

predeterm(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,pdt,_,_,G,N),
	monta_arv(A,predeterm,[A1]).

pronindef(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,ind,_,_,G,N,_),
	monta_arv(A,pronindef,[A1]).

pronoblatono(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,ati,_,_,G,N),
	monta_arv(A,pronoblatono,[A1]).

pronoblatono(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,atd,_,_,G,N),
	monta_arv(A,pronoblatono,[A1]).

pronoblatono1(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,atd,_,_,G,N),
	monta_arv(A,pronoblatono1,[A1]).

pronoblatono2(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,ati,_,_,G,N),
	monta_arv(A,pronoblatono2,[A1]).

pronobltonico1(S1,S,INF,SUP,_,A):-
	pron(S1,S,INF,SUP,d,A1,_,_,ton,_,_,_,_),
	monta_arv(A,pronobltonico1,[A1]).

pronobltonico2(S1,S,INF,SUP,_,A):-
	prep(S1,S2,INF,SUP,d,A1,'com','com'),
	pron(S2,S,S2,SUP,d,A2,_,_,ton,_,_,_,_),
	monta_arv(A,pronobltonico2,[A1,A2]).

pronomedemonst(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,dmp,_,_,G,N),
	monta_arv(A,pronomedemonst,[A1]).

pronomeinterrog(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,int,_,_,G,N),
	monta_arv(A,pronomeinterrog,[A1]).

pronomerelativo(S1,S,INF,SUP,_,A,G,N):-
	rel(S1,S,INF,SUP,d,A1,_,_,_,_,_,G,N),
	monta_arv(A,pronomerelativo,[A1]).

pronomereto(S1,S,INF,SUP,_,A,P,_,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,ret,F,P,G,N),
	monta_arv(A,pronomereto,[A1]).

pronposse(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,pos,adj,_,G,N,_,_),
	monta_arv(A,pronposse,[A1]).

reflexao(S1,S,INF,SUP,_,A,G,N):-
	pron(S1,S,INF,SUP,d,A1,_,_,dmi,_,_,G,N),
	monta_arv(A,reflexao,[A1]).

substantivo(S1,S,INF,SUP,_,A,G,N):-
	subst(S1,S,INF,SUP,d,A1,_,_,G,N,_),
	monta_arv(A,substantivo,[A1]).

preposicao(S1,S,INF,SUP,_,A):-
	prep(S1,S,INF,SUP,d,A1,_,_),
	monta_arv(A,preposicao,[A1]).

verbal(S1,S,INF,SUP,_,A,ind,part,_,N,G):-
	verbo(S1,S,INF,SUP,d,A1,_,_,nom,par,_,G,N),
	monta_arv(A,verbal,[A1]).

verbal(S1,S,INF,SUP,_,A,ind,fin,P,N,_):-
	verbo(S1,S,INF,SUP,d,A1,_,_,fin,ind,_,P,N),
	monta_arv(A,verbal,[A1]).

verbal(S1,S,INF,SUP,_,A,_,inf,_,_,_):-
	verbo(S1,S,INF,SUP,d,A1,_,_,nom,inf,_,_,_),
	monta_arv(A,verbal,[A1]).

verbal(S1,S,INF,SUP,_,A,ind,ger,_,_,_):-
	verbo(S1,S,INF,SUP,d,A1,_,_,nom,ger,_,_,_),
	monta_arv(A,verbal,[A1]).

virgula(S1,S,INF,SUP,_,A):-
	pont(S1,S,INF,SUP,d,A1,',',_,med),
	monta_arv(A,virgula,[A1]).

