% Resumen del Curso de Espanol % (c) 2004-12-12 Fabian M. Suchanek % http://www.mpi-inf.mpg.de/~suchanek/personal -> Summaries -> Spanish % % (English version of the following abstract below) % % Este es un resumen del curso basico de espanol "Spanisch % Elementarklurs 2" dado por Elisa Paredes en el semestro invernal % 2004 en la Universidad de la Sarre . Este texto es un programa de % PROLOG que conoce las reglas gramaticales que hemos aprendido % en clase: % * sustantivos con sus articulos % * adjetivos % * comparaciones % * pronombres % * presente % * preterito perfecto % * gerundio % * futuro proximo % * cifras % % Hasta ahora, el vocabulario es limitado a dos sustantivos % palabra y teatro % % El programa acepta oraciones como las siguientes (con la % profundidad tipica de los programas de PROLOG): % % "tres mil quinientas treinta y una palabras azules duermen" % "el teatro ha dicho dos palabras muy rosa" % ... % % Leyendo este texto, el lector admite que el autor no acepta % ninguna responsabilidad para la exactitud o la integridad del % texto. En caso de que alguien descubiera una falta, estaria % agradecido si me la comunicara (f.m.suchanek@zweb.de (remove the letter 'z')) . Solo % asi podria tambien beneficarme con la publicacion de este resumen. % % -------- % % This is a summary of the basic Spanish course "Spanisch % Elementarklurs 2" held by Elisa Paredes in the WS 2004 at Saarland % University. This text is a PROLOG program, which supports % the grammatical rules which we learned in class: % * nouns with their articles % * adjectives % * comparisons % * pronouns % * present tense % * perfect tense % * gerund % * near future tense % * numbers % % Up to now, the vocabulatory is limited to two nouns: % palabra and teatro % % The program accepts phrases similar to the following % ones (with the profundity inherent to PROLOG programs): % % "tres mil quinientas treinta y una palabras azules duermen" % "el teatro ha dicho dos palabras muy rosa" % ... % % By reading the following text, you accept that the author does not % accept any responsibility for the correctness or completeness of % this text. If you have any corrections or remarks, please % mail me at f.m.suchanek@zweb.de (remove the letter 'z') . This is the only way % to make the publication of this summary useful for me, too. %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Modificaciones %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s(S) :- delFirstMark(S,S2), lowerCase(S2,S3), delLastMark(S3,S4), s(S4,""). delFirstMark([63|R],R). delFirstMark([33|R],R). delFirstMark([F|R],[F|R]) :- F\=63, F\=33. lowerCase([F|R],[F2|R]) :- F >= 65, F =< 90, !, F2 is F + 32. lowerCase([F|R],[F|R]). delLastMark([F,63],[F]). delLastMark([F,33],[F]). delLastMark([F,46],[F]). delLastMark([F,S],[F,S]) :- F\=33, F\=63, F\=46. delLastMark([F|R],[F|R2]) :- delLastMark(R,R2). %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Oraciones %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ s --> npsubj(N), vp(N, Tiempo, indicativo). % Orarios s --> "es la una". s --> "son las ", num(n(f,3,pl)), yalgo. yalgo --> "". yalgo --> " en punto". yalgo --> " y ", minutos. yalgo --> " y media". yalgo --> " menos ", minutos. minutos --> num(n(f,3,pl)). minutos --> "cuarto". % Estamos escribiendo s --> npsubj(N), estar(N, Tiempo, indicativo), " ", vp(N, presente, gerundio). % Estamos escribiendo algo s --> npsubj(N), estar(N, Tiempo, indicativo), " ", vp(N, presente, gerundio), " ", np(N2). % A mi me gusta s --> "a ", vocpronemph(N)," ", vocpronindirobj(N)," ", verb(N2, Tiempo, indicativo, obj(V, D, indirecto)). % A mi me gusta la radio s --> "a ", vocpronemph(N)," ", vocpronindirobj(N)," ", verb(n(G, 3, Numerus), Tiempo, indicativo, obj(V, D, indirecto))," ", np(n(G, 3, Numerus)). % El libro lo regalamos s --> np(N)," ", vocprondirobj(N)," ", vp(N2, Tiempo, indicativo). % El jersey me queda corto s --> np(n(G,3,sg)), vocpronindirobj(N2), " queda ", adj(n(G,3,sg)). % Hay algo s --> "hay ", np(N). % Se habla una lengua / se hablan muchas lenguas s --> "se ", verb(n(G, 3, Numerus), Tiempo, indicativo, obj(V, directo, I))," ", np(n(G, 3, Numerus)). % El cafe esta frio s --> npsubj(N), estar(N,Tiempo,indicativo), " ", adj(N). % El cafe es negro s --> npsubj(N), ser(N,Tiempo,indicativo), " ", adj(N). % El cafe esta bien s --> npsubj(N), estar(N,Tiempo,indicativo), " ", adv. %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Comparaciones %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Sevilla tiene mas habitantes que Cordoba s --> npsubj(N), verb(N, Tiempo, indicativo, obj(V,directo,I)), " ", masmenos, " ", npnoart(N2), " que ", np(N3). % Sevilla tiene mas que Cordoba s --> npsubj(N), verb(N, Tiempo, indicativo, O), " ", masmenos, " que ", np(N2). % Sevilla es mas grande que Cordoba s --> npsubj(N), ser(N, Tiempo, indicativo), " ", masmenos, " ", adj(N), " que ", np(N3). % La falda azul cuesta tanto como la roja s --> npsubj(N), verb(N, Tiempo, indicativo, O), " tanto como ", np(N2). % Cuesta tanto como la roja s --> verb(N, Tiempo, indicativo, O), " tanto como ", np(N2). % La falda azul es tan bonita como la roja s --> npsubj(N), ser(N, Tiempo, indicativo), " tan ", adj(N), " como ", np(N2). %Casares tiene tanto trafico como Marbella s --> npsubj(N), verb(N, Tiempo, indicativo, obj(V,directo, I)), " ", tanto(N2), " ", npnoart(N2), " como ", np(N3). masmenos --> "mas". masmenos --> "menos". tanto(n(m,3,sg)) --> "tanto". tanto(n(f,3,sg)) --> "tanta". tanto(n(m,3,pl)) --> "tantos". tanto(n(f,3,pl)) --> "tantas". %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Oraciones nominales %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npsubj(N) --> "". npsubj(N) --> np(N), " ". npsubj(N) --> vocpronsubj(N), " ". np(N) --> art(N)," ", npnoart(N). npnoart(N) --> n(N). npnoart(N) --> n(N), " ", adj(N). np(N) --> adjquantidad(N), " ", npnoart(N). np(n(m,3,sg)) --> "lo ", adj(n(m,3,sg)). np(n(m,3,sg)) --> "otro ", n(n(m,3,sg)). np(n(m,3,sg)) --> "medio ", n(n(m,3,sg)). np(n(m, 3, sg)) --> "eso". np(n(m, 3, sg)) --> "esto". %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Sustantivos %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ n(n(Genere, 3, sg)) --> vocn(Genere). n(n(Genere, 3, pl), S1, S2) :- vocn(Genere, N, ""), last(N,111), %o append(N,[115|S2],S1). %s n(n(Genere, 3, pl), S1, S2) :- vocn(Genere, N, ""), last(N,97), %a append(N,[115|S2],S1). %s n(n(Genere, 3, pl), S1, S2) :- vocn(Genere, N, ""), last(N,108), %l append(N,[101,115|S2],S1). %es n(n(Genere, 3, pl), S1, S2) :- vocn(Genere, N, ""), last(N,100), %d append(N,[101,115|S2],S1). %es %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Articulos %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ art(n(m,3,sg)) --> "el". art(n(f,3,sg)) --> "la". art(n(m,3,pl)) --> "los". art(n(f,3,pl)) --> "las". art(n(m,3,sg)) --> "un". art(n(f,3,sg)) --> "una". art(n(m,3,pl)) --> "unos". art(n(f,3,pl)) --> "unas". art(n(Genere,3,sg)) --> "mi". art(n(Genere,3,sg)) --> "ti". art(n(Genere,3,sg)) --> "su". art(n(Genere,3,sg)) --> "nuestro". art(n(Genere,3,sg)) --> "vuestro". art(n(Genere,3,sg)) --> "su". art(n(Genere,3,pl)) --> art(n(Genere,3,sg)), "s". art(n(m,3,sg)) --> "este". art(n(f,3,sg)) --> "esta". art(n(m,3,pl)) --> "estos". art(n(f,3,pl)) --> "estas". art(n(m,3,sg)) --> "ese". art(n(f,3,sg)) --> "esa". art(n(m,3,pl)) --> "esos". art(n(f,3,pl)) --> "esas". art(N) --> num(N). art(n(m,3,pl)) --> "el ", porciento, " por ciento de los". art(n(f,3,pl)) --> "el ", porciento, " por ciento de las". porciento --> num(n(m,3,pl)). porciento --> num(n(m,3,pl))," coma ", num(n(m,3,pl)). %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Adjetivos %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ adj(N) --> adj2(N). adj(N) --> "muy ", adj2(N). adj(N) --> vocadv," ", adj2(N). adj(N) --> voclugar. adj(N) --> voclugar, " de ", np(N2). adj2(n(m, P, sg)) --> vocadj(o), "o". adj2(n(f, P, sg)) --> vocadj(o), "a". adj2(n(m, P, pl)) --> vocadj(o), "os". adj2(n(f, P, pl)) --> vocadj(o), "as". adj2(n(G, P, sg)) --> vocadj(e). adj2(n(G, P, pl)) --> vocadj(e), "s". adj2(n(G, P, sg)) --> vocadj(consonante). adj2(n(G, P, pl)) --> vocadj(consonante), "es". adj2(n(G, P, N)) --> vocadj(fijo). adj2(n(m, P, sg)) --> vocadj(nacionalidad_o), "o". adj2(n(f, P, sg)) --> vocadj(nacionalidad_o), "a". adj2(n(m, P, pl)) --> vocadj(nacionalidad_o), "os". adj2(n(f, P, pl)) --> vocadj(nacionalidad_o), "as". adj2(n(m, P, sg)) --> vocadj(nacionalidad_consonante). adj2(n(f, P, sg)) --> vocadj(nacionalidad_consonante), "a". adj2(n(m, P, pl)) --> vocadj(nacionalidad_consonante), "es". % !! adj2(n(f, P, pl)) --> vocadj(nacionalidad_consonante), "as". adj2(n(G, P, sg)) --> vocadj(nacionalidad_mf). adj2(n(G, P, pl)) --> vocadj(nacionalidad_mf), "s". adjquantidad(n(m, P, sg)) --> vocadjquantidad, "o". adjquantidad(n(f, P, sg)) --> vocadjquantidad, "a". adjquantidad(n(m, P, pl)) --> vocadjquantidad, "os". adjquantidad(n(f, P, pl)) --> vocadjquantidad, "as". %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % VPs %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vp(N, Tiempo, Modo) --> verb(N, Tiempo, Modo, obj(inf,D,I))," ", vp(N2,Tiempo2,infinitivo). vp(N, Tiempo, Modo) --> vocpronrefl(N)," ", verb(N, Tiempo, Modo, obj(V,refl,I)), advverb, {Modo\=infinitivo, Modo\=gerundio, Tiempo\=futuroproximo}. vp(N, Tiempo, Modo) --> verb(N, Tiempo, Modo, obj(V,refl,I)), vocpronrefl(N), advverb, {Modo=infinitivo;Modo=gerundio; Tiempo=futuroproximo}. vp(N, Tiempo, Modo) --> verb(N, Tiempo, Modo, obj(V,directo,I)), advverb_, a, np(N2). vp(N, Tiempo, Modo) --> vocprondirobj(N2)," ", verb(N, Tiempo, Modo, obj(V,directo,I)), advverb, {Modo\=infinitivo, Modo\=gerundio, Tiempo\=futuroproximo}. vp(N, Tiempo, Modo) --> verb(N, Tiempo, Modo, obj(V,directo,I)), vocprondirobj(N2), advverb, {Modo=infinitivo; Modo=gerundio; Tiempo=futuroproximo}. vp(N, Tiempo, Modo) --> verb(N, Tiempo, Modo, obj(V,D,indirecto)), advverb, " a ", np(N2). vp(N, Tiempo, Modo) --> vocpronindirobj(N2)," ", verb(N, Tiempo, Modo, obj(V,D,indirecto)), advverb, {Modo\=infinitivo, Modo\=gerundio, Tiempo\=futuroproximo}. vp(N, Tiempo, Modo) --> verb(N, Tiempo, Modo, obj(V,D,indirecto)), vocpronindirobj(N2), advverb, {Modo=infinitivo; Modo=gerundio; Tiempo=futuroproximo}. vp(N, Tiempo, Modo) --> verb(N, Tiempo, Modo, obj(V,D,I)), advverb. advverb --> "". advverb --> " ", adv. advverb --> " mucho". advverb_ --> " ". advverb_ --> " ", adv, " ". advverb_ --> " mucho ". a --> "". a --> "a ". %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Adverbios %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ adv --> "muy ", vocadv. adv --> vocadv. %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Verbos %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ verb(N, perfecto, M, O) --> haber(N, presente, M), " ", verb(N, participio, indicativo, O). verb(N, futuroproximo, M, O) --> ir(N, presente, M), " a ", verb(N, presente, infinitivo, O). verb(N, T, M, obj(nil,directo,nil)) --> ser(N, T, M). verb(N, T, M, obj(nil,nil,nil)) --> estar(N, T, M). verb(N, T, M, obj(nil,nil,nil)) --> ir(N, T, M). verb(N, presente, gerundio, O, S1, S2) :- vocverb(decl(AEI,C,Y,Gerundio,P),O,F,""), Gerundio\=reg, append(Gerundio, S2, S1). verb(N, participio, indicativo, O, S1, S2) :- vocverb(decl(AEI,C,Y,G,Participio),O,F,""), Participio\=reg, append(Participio, S2, S1). verb(N, presente, gerundio, O) --> vocverb(decl(a,C,Y,reg,P),O),"ando". verb(N, presente, infinitivo, O) --> vocverb(decl(a,C,Y,G,P),O),"ar". verb(N, participio, indicativo, O) --> vocverb(decl(a,C,Y,G,reg),O),"ado". verb(n(G, 1, sg), presente, indicativo, O) --> yo(a,O). verb(n(G, 2, sg), presente, indicativo, O) --> cambio(a,O), "as". verb(n(G, 3, sg), presente, indicativo, O) --> cambio(a,O), "a". verb(n(G, 1, pl), presente, indicativo, O) --> nocambio(a,O), "amos". verb(n(G, 2, pl), presente, indicativo, O) --> nocambio(a,O), "ais". verb(n(G, 3, pl), presente, indicativo, O) --> cambio(a,O), "an". verb(N, presente, gerundio, O) --> vocverb(decl(e,C,Y,reg,P),O),"iendo". verb(N, presente, infinitivo, O) --> vocverb(decl(e,C,Y,G,P),O),"er". verb(N, participio, indicativo, O) --> vocverb(decl(e,C,Y,G,reg),O),"ido". verb(n(G, 1, sg), presente, indicativo, O) --> yo(e,O). verb(n(G, 2, sg), presente, indicativo, O) --> cambio(e,O), "es". verb(n(G, 3, sg), presente, indicativo, O) --> cambio(e,O), "e". verb(n(G, 1, pl), presente, indicativo, O) --> nocambio(e,O), "emos". verb(n(G, 2, pl), presente, indicativo, O) --> nocambio(e,O), "eis". verb(n(G, 3, pl), presente, indicativo, O) --> cambio(e,O), "en". verb(N, presente, gerundio, O) --> vocverb(decl(i,C,Y,reg,P),O),"iendo". verb(N, presente, infinitivo, O) --> vocverb(decl(i,C,Y,G,P),O),"ir". verb(N, participio, indicativo, O) --> vocverb(decl(i,C,Y,G,reg),O),"ido". verb(n(G, 1, sg), presente, indicativo, O) --> yo(i,O). verb(n(G, 2, sg), presente, indicativo, O) --> cambio(i,O), "es". verb(n(G, 3, sg), presente, indicativo, O) --> cambio(i,O), "e". verb(n(G, 1, pl), presente, indicativo, O) --> nocambio(i,O), "imos". verb(n(G, 2, pl), presente, indicativo, O) --> nocambio(i,O), "is". verb(n(G, 3, pl), presente, indicativo, O) --> cambio(i,O), "en". yo(AEI,O,S1,S2) :- cambio(AEI,reg,O,F,""), append(F, [111|S2], S1). yo(AEI,O,S1,S2) :- vocverb(decl(AEI,C,Yo,G,P),O,F,""), Yo\=reg, append(Yo, S2, S1). cambio(AEI,O,S1,S2) :- cambio(AEI,Y,O,S1,S2). cambio(AEI,Y,O,S1,S2) :- vocverb(decl(AEI,e2ie,Y,G,P),O,S1a,S2), e2ie(S1a,S1). cambio(AEI,Y,O,S1,S2) :- vocverb(decl(AEI,e2i,Y,G,P),O,S1a,S2), e2i(S1a,S1). cambio(AEI,Y,O,S1,S2) :- vocverb(decl(AEI,o2ue,Y,G,P),O,S1a,S2), o2ue(S1a,S1). cambio(AEI,Y,O,S1,S2) :- vocverb(decl(AEI,u2ue,Y,G,P),O,S1a,S2), u2ue(S1a,S1). cambio(AEI,Y,O,S1,S2) :- vocverb(decl(AEI,reg,Y,G,P),O,S1,S2). nocambio(AEI,O) --> vocverb(decl(AEI,C,Y,G,P),O). e2i([101|R],[105|R]). e2i([F|R1],[F|R2]) :- F\=101, e2i(R1,R2). e2ie([101|R],[105,101|R]). e2ie([F|R1],[F|R2]) :- F\=101, e2ie(R1,R2). o2ue([111|R],[117,101|R]). o2ue([F|R1],[F|R2]) :- F\=111, o2ue(R1,R2). u2ue([117|R],[117,101|R]). u2ue([F|R1],[F|R2]) :- F\=117, u2ue(R1,R2). %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Cifras %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ num(n(G,3,pl)) --> "cero". num(N) --> n1_999(N). num(N) --> n1000_99999(N). n1_999(N) --> n1_99(N). n1_999(N) --> n100_999(N). n1_99(N) --> n1_9(N). n1_99(N) --> n10_99(N). n10_99(n(G,3,pl)) --> "diez". n10_99(n(G,3,pl)) --> "once". n10_99(n(G,3,pl)) --> "doce". n10_99(n(G,3,pl)) --> "trece". n10_99(n(G,3,pl)) --> "catorce". n10_99(n(G,3,pl)) --> "quince". n10_99(n(G,3,pl)) --> "dieciseis". n10_99(n(G,3,pl)) --> "diecisiete". n10_99(n(G,3,pl)) --> "dieciocho". n10_99(n(G,3,pl)) --> "diecinueve". n10_99(n(G,3,pl)) --> "veinte". n10_99(n(G,3,pl)) --> "veinti", n1_9(n(G,3,N)). n10_99(n(G,3,pl)) --> n30. n10_99(n(G,3,pl)) --> n30, " y ", n1_9(n(G,3,N)). n1_9(n(m,3,sg)) --> "un". n1_9(n(f,3,sg)) --> "una". n1_9(n(G,3,pl)) --> "dos". n1_9(n(G,3,pl)) --> "tres". n1_9(n(G,3,pl)) --> "cuatro". n1_9(n(G,3,pl)) --> "cinco". n1_9(n(G,3,pl)) --> "seis". n1_9(n(G,3,pl)) --> "siete". n1_9(n(G,3,pl)) --> "ocho". n1_9(n(G,3,pl)) --> "nueve". n30 --> "treinta". n30 --> "cuarenta". n30 --> "cincuenta". n30 --> "sesenta". n30 --> "setenta". n30 --> "ochenta". n30 --> "noventa". n100_999(n(G,3,pl)) --> "cien". n100_999(n(G,3,pl)) --> "ciento ", n1_99(n(G,3,N)). n100_999(n(m,3,pl)) --> n100, "os". n100_999(n(f,3,pl)) --> n100, "as". n100_999(n(m,3,pl)) --> n100, "os ", n1_99(n(m,3,N)). n100_999(n(f,3,pl)) --> n100, "as ", n1_99(n(f,3,N)). n100 --> "doscient". n100 --> "trescient". n100 --> "cuatrocient". n100 --> "quinient". n100 --> "seiscient". n100 --> "setecien". n100 --> "ochocient". n100 --> "novecien". n1000_99999(N) --> "mil". n1000_99999(N) --> n1_999(n(m,3,N)), " mil". n1000_99999(n(G,3,pl)) --> n1_999(n(m,3,N)), " mil ", n1_999(n(G,3,N)). %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Palabras %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vocpronsubj(n(G,1,sg)) --> "yo". vocpronsubj(n(G,2,sg)) --> "tu". vocpronsubj(n(m,3,sg)) --> "el". vocpronsubj(n(f,3,sg)) --> "ella". vocpronsubj(n(m,3,sg)) --> "usted". vocpronsubj(n(m,1,pl)) --> "nosotros". vocpronsubj(n(f,1,pl)) --> "nosotras". vocpronsubj(n(m,2,pl)) --> "vosotros". vocpronsubj(n(f,2,pl)) --> "vosotras". vocpronsubj(n(m,3,pl)) --> "ellos". vocpronsubj(n(f,3,pl)) --> "ellas". vocpronsubj(n(m,3,pl)) --> "ustedes". vocprondirobj(n(G,1,sg)) --> "me". vocprondirobj(n(G,2,sg)) --> "te". vocprondirobj(n(m,3,sg)) --> "lo". vocprondirobj(n(f,3,sg)) --> "la". vocprondirobj(n(G,3,sg)) --> "se". vocprondirobj(n(G,1,pl)) --> "nos". vocprondirobj(n(G,2,pl)) --> "os". vocprondirobj(n(m,3,pl)) --> "los". vocprondirobj(n(f,3,pl)) --> "las". vocpronindirobj(n(G,1,sg)) --> "me". vocpronindirobj(n(G,2,sg)) --> "te". vocpronindirobj(n(G,3,sg)) --> "le". vocpronindirobj(n(G,1,pl)) --> "nos". vocpronindirobj(n(G,2,pl)) --> "os". vocpronindirobj(n(m,3,pl)) --> "les". vocpronemph(n(G,1,sg)) --> "mi". vocpronemph(n(G,2,sg)) --> "ti". vocpronemph(n(m,3,sg)) --> "el". vocpronemph(n(f,3,sg)) --> "ella". vocpronemph(n(G,3,sg)) --> "usted". vocpronemph(n(G,1,pl)) --> "nosostros". vocpronemph(n(G,2,pl)) --> "vosotros". vocpronemph(n(m,3,pl)) --> "ellos". vocpronemph(n(f,3,pl)) --> "ellas". vocpronemph(n(G,3,pl)) --> "usteded". vocpronrefl(n(G,1,sg)) --> "me". vocpronrefl(n(G,2,sg)) --> "te". vocpronrefl(n(G,3,sg)) --> "se". vocpronrefl(n(G,1,pl)) --> "nos". vocpronrefl(n(G,2,pl)) --> "vos". vocpronrefl(n(G,3,pl)) --> "se". vocadj(o) --> "nuev". vocadj(e) --> "grande". vocadj(consonante) --> "azul". vocadj(fijo) --> "rosa". vocadj(fijo) --> "naranja". vocadj(fijo) --> "violeta". vocadj(nacionalidad_o) --> "italian". vocadj(nacionalidad_consonante) --> "espanol". vocadj(nacionalidad_consonante) --> "aleman". vocadj(nacionalidad_consonante) --> "holandes". vocadj(nacionalidad_mf) --> "belga". vocadj(nacionalidad_mf) --> "estadounidense". vocadj(nacionalidad_mf) --> "nicaraguense". vocadj(nacionalidad_mf) --> "marroqui". vocadjquantidad --> "much". vocadjquantidad --> "poc". vocadjquantidad --> "tant". vocn(m) --> "teatro". vocn(f) --> "palabra". ser(n(G, P, N), presente, infinitivo) --> "ser". ser(n(G, P, N), presente, indicativo) --> "soy". ser(n(G, P, N), participio, indicativo) --> "sido". ser(n(G, 2, sg), presente, indicativo) --> "eres". ser(n(G, 3, sg), presente, indicativo) --> "es". ser(n(G, 1, pl), presente, indicativo) --> "somos". ser(n(G, 2, pl), presente, indicativo) --> "sois". ser(n(G, 3, pl), presente, indicativo) --> "son". estar(n(G, P, N), presente, infinitivo) --> "estar". estar(n(G, P, N), presente, gerundio) --> "estando". estar(n(G, P, N), participio, indicativo) --> "estado". estar(n(G, 1, sg), presente, indicativo) --> "estoy". estar(n(G, 2, sg), presente, indicativo) --> "estas". estar(n(G, 3, sg), presente, indicativo) --> "esta". estar(n(G, 1, pl), presente, indicativo) --> "estamos". estar(n(G, 2, pl), presente, indicativo) --> "estais". estar(n(G, 3, pl), presente, indicativo) --> "estan". ir(n(G, P, N), presente, infinitivo) --> "ir". ir(n(G, P, N), presente, gerundio) --> "yendo". ir(n(G, P, N), participio, indicativo) --> "ido". ir(n(G, 1, sg), presente, indicativo) --> "voy". ir(n(G, 2, sg), presente, indicativo) --> "vas". ir(n(G, 3, sg), presente, indicativo) --> "va". ir(n(G, 1, pl), presente, indicativo) --> "vamos". ir(n(G, 2, pl), presente, indicativo) --> "vais". ir(n(G, 3, pl), presente, indicativo) --> "van". haber(n(G, 1, sg), presente, infinitivo) --> "haber". haber(n(G, 1, sg), presente, gerundio) --> "habiendo". haber(n(G, 1, sg), presente, indicativo) --> "he". haber(n(G, 2, sg), presente, indicativo) --> "has". haber(n(G, 3, sg), presente, indicativo) --> "ha". haber(n(G, 1, pl), presente, indicativo) --> "hemos". haber(n(G, 2, pl), presente, indicativo) --> "habais". haber(n(G, 3, pl), presente, indicativo) --> "han". vocverb(decl(a,reg,reg,reg,reg),obj(nil,directo,indirecto)) --> "habl". vocverb(decl(a,reg,reg,reg,reg),obj(inf,nil,indirecto)) --> "gust". vocverb(decl(e,reg,reg,reg,reg),obj(nil,directo,nil)) --> "aprend". vocverb(decl(i,reg,reg,reg,reg),obj(nil,directo,indirecto)) --> "viv". vocverb(decl(e,e2ie,reg,reg,reg),obj(inf,directo,nil)) --> "quer". vocverb(decl(e,o2ue,reg,reg,reg),obj(inf,directo,nil)) --> "pod". vocverb(decl(i,e2i,reg,reg,reg),obj(nil,directo,nil)) --> "ped". vocverb(decl(a,u2ue,reg,reg,reg),obj(nil,directo,nil)) --> "jug". vocverb(decl(e,reg,"hago",reg,"hecho"),obj(nil,directo,nil)) --> "hac". vocverb(decl(e,reg,"pongo",reg,"puesto"),obj(nil,directo,nil)) --> "pon". vocverb(decl(i,reg,"salgo",reg,reg),obj(nil,directo,nil)) --> "sal". vocverb(decl(e,reg,"traigo",reg,reg),obj(nil,directo,indirecto)) --> "tra". vocverb(decl(e,reg,"veo",reg,"visto"),obj(nil,directo,nil)) --> "v". vocverb(decl(a,reg,"doy",reg,reg),obj(nil,directo,indirecto)) --> "d". vocverb(decl(e,reg,"se",reg,reg),obj(inf,directo,nil)) --> "sab". vocverb(decl(e,reg,"conozco",reg,reg),obj(nil,directo,nil)) --> "conoc". vocverb(decl(e,reg,"ofrezco",reg,reg),obj(nil,directo,indirecto)) --> "ofrec". vocverb(decl(i,reg,"conduzco",reg,reg),obj(nil,directo,nil)) --> "conduc". vocverb(decl(i,i2e,"digo","diciendo","dicho"),obj(nil,directo,indirecto)) --> "dec". vocverb(decl(e,e2ie,"tengo",reg,reg),obj(nil,directo,nil)) --> "ten". vocverb(decl(i,e2ie,"vengo",reg,reg),obj(nil,nil,nil)) --> "ven". vocverb(decl(e,reg,reg,"leyendo",reg),obj(nil,directo,nil)) --> "le". vocverb(decl(i,o2ue,reg,"duermiendo",reg),obj(nil,nil,nil)) --> "dorm". vocverb(decl(a,reg,reg,reg,reg),obj(nil,refl,nil)) --> "duch". vocverb(decl(i,reg,reg,reg,"abierto"),obj(nil,directo,nil)) --> "abr". vocverb(decl(i,reg,reg,reg,"escribido"),obj(nil,directo,indirecto)) --> "escrib". vocverb(decl(e,reg,reg,reg,"vuelto"),obj(nil,nil,nil)) --> "volv". vocadv --> "bien". vocadv --> "mal". voclugar --> "a la derecha". voclugar --> "a la izquierda". voclugar --> "al lado". voclugar --> "enfrente". voclugar --> "cerca". voclugar --> "lejos". voclugar --> "delante". voclugar --> "detras". voclugar --> "debajo". voclugar --> "al final". vocadj(fijo) --> "fuera". vocadj(fijo) --> "ahi". vocadj(fijo) --> "alli". vocadj(fijo) --> "aqui". vocadv --> "todo recto". %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Noticia inicial %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :- writeln(' '), writeln('-------------------------------------------------------------------'), writeln(' Resumen del Curso de Espanol'), writeln(' '), writeln(' Ignore los avisos susodichos y pruebe escribir'), writeln(' '), writeln(' s("veo el teatro azul"). '), writeln(' '), writeln(' y variaciones correctas y incorrectas de esta oracion'), writeln(' (sin accentos).'), writeln('-------------------------------------------------------------------'), writeln(' ').