% File: sp_interpreter.pro % Description: a DCG for the names of numbers in spanish sp(0) --> [zero]. sp(V) --> sp5(V). sp5(V) --> sp4(V5), [millon], sp4(V6), {V is ((V5*1000000)+V6)}. sp5(V) --> sp4(V5), [millon], {V is (V5*1000000)}. sp5(V) --> sp4(V). sp4(V) --> sp3(V3), [mil], sp3(V4), {V is ((V3*1000)+V4)}. sp4(V) --> sp3(V3), [mil], {V is (V3*1000)}. sp4(V) --> sp3(V). sp3(V) --> sp1(V1), [cien], sp2(V2), {V is ((V1*100)+V2)}. sp3(V) --> sp1(V1), [cien], {V is (V1*100)}. sp3(V) --> sp2(V). sp2(V) --> sty(Ty), {V=Ty}. sp2(V) --> steen(Teen), {V=Teen}. sp2(V) --> sp1(V). sty(V) --> stybase(V). sty(V) --> stybase(Ty), [y], sp1(U), {V is ((Ty*1)+U)}. stybase(20) --> [veinte]. stybase(30) --> [treinta]. stybase(40) --> [cuarenta]. stybase(50) --> [cincuenta]. stybase(60) --> [sesenta]. stybase(70) --> [setenta]. stybase(80) --> [ochenta]. stybase(90) --> [noventa]. steen(10) --> [diez]. steen(11) --> [once]. steen(12) --> [doce]. steen(13) --> [trece]. steen(14) --> [catorce]. steen(15) --> [quince]. steen(16) --> [dieciséis]. steen(17) --> [diecisiete]. steen(18) --> [dieciocho]. steen(19) --> [diecinueve]. sp1(1) --> [uno]. sp1(2) --> [dos]. sp1(3) --> [tres]. sp1(4) --> [cuatro]. sp1(5) --> [cinco]. sp1(6) --> [seis]. sp1(7) --> [siete]. sp1(8) --> [ocho]. sp1(9) --> [nueve].