From ff252aaef746ddc92cea7e2d4b613e65d04fcfa1 Mon Sep 17 00:00:00 2001 From: = <=> Date: Sat, 10 Feb 2024 14:56:00 +0100 Subject: [PATCH] Va un poco mal --- hola_mundo.messi | 67 ++++++++++ src/interpreter.rs | 299 +++++++++++++++++++++++++++++++++++++++++++++ src/lib.rs | 1 + src/main.rs | 4 +- test.messi | 159 ++++++++++++++++++++++++ 5 files changed, 529 insertions(+), 1 deletion(-) create mode 100644 hola_mundo.messi create mode 100644 src/interpreter.rs create mode 100644 src/lib.rs create mode 100644 test.messi diff --git a/hola_mundo.messi b/hola_mundo.messi new file mode 100644 index 0000000..bf89c88 --- /dev/null +++ b/hola_mundo.messi @@ -0,0 +1,67 @@ +La agarra Messi. Va Messi, ídolo argentino y mundial, moviéndo la pelota de forma magistral. +La mueve Messi por la derecha. Va Messi, figura del partido hasta el momento, el favorito +del público. Va Messi, mostrando como se juega al fútbol. + +Sigue Messi. La mueve Messi por la izquierda. Va Messi, tremendo este hombre. +La mueve Messi por la derecha. Va Messi por la banda. Vuelve Messi. + +La mueve Messi por la izquierda. Va Messi por la banda. La pisa Messi. +La mueve Messi por la derecha. + +Va Messi, ídolo argentino y mundial, increible lo que juega este pibe. +La mueve Messi por la derecha. Va Messi, figura del partido hasta el momento, creando +una jugada prometedora. Va Messi, mostrando como se juega al fútbol. + +Sigue Messi. La mueve Messi por la izquierda. Va Messi, tremendo este hombre. +La mueve Messi por la derecha. Va Messi por la banda. Vuelve Messi. + +La mueve Messi por la izquierda. La pisa Messi. La mueve Messi por la derecha. + +Va Messi, la pulga, el ídolo mundial, que estuvo teniendo un partido increible. Va Messi, + encara por la banda, sigue por el lateral, hace una gambeta que derrocha talento. + La mueve Messi por la derecha. Va Messi, figura del partido hasta el momento, creando + una jugada prometedora. Va Messi, mostrando como se juega al fútbol. + + Sigue Messi. La mueve Messi por la izquierda. Va Messi, tremendo este hombre. + La mueve Messi por la derecha. Va Messi por la banda. Vuelve Messi. + + La mueve Messi por la izquierda. Va messi, jugando un fútbol como solo este pibe puede. + Corre Messi. Va Messi, como amo el fútbol. La pisa Messi. La mueve Messi por la derecha. + + Amaga Messi. Va Messi, sigue por el lateral derecho, toca la pelota para un costado y retoma + la jugada. Corre Messi. Va Messi, que buen fútbol. La pisa Messi. + + La mueve Messi por la derecha. Amaga Messi. Va messi, ídolo del país, ¿de qué planeta saliste? + La tribuna enloquece. Va Messi, toda la jugada es suya, la pulga, Dios, la pelota es parte + de su cuerpo. Va Messi, sigue por el lateral izquierdo, mete una gambeta y el estadio estalla. + Va Messi, con un fútbol de primera categoría. Va Messi, por la banda. La pisa Messi. + + La mueve Messi por la derecha. La mueve Messi por la derecha. + + Amaga Messi. Va Messi, que lindo es el fútbol, como juega este muchacho. Corre Messi. + + La mueve Messi por la derecha. Amaga Messi. Va Messi, tocando la pelota, la mueve por la banda, + sigue por el lateral derecho y encara para el centro del campo. Va Messi, la pulga, Lio, figura + del partido, que jugador. + + La mueve Messi por la derecha. Amaga Messi. Va Messi, moviendo la pelota. Corre Messi. + + La mueve Messi por la derecha. Amaga Messi. Va Messi, jugando un fútbol de primera. Va Messi, + todos en el estadio cantan su nombre, el nombre de su ídolo; saben que esta jugada tiene potencial. + Va Messi, la pelota siempre al diez, estrella de la cancha. Va Messi, titán, que jugador + de calidad; amo el fútbol. + + La mueve Messi por la derecha. Amaga Messi. Va Messi, lleva la pelota. + + La mueve Messi por la derecha. Va Messi, talento único e irrepetible. Va Messi, el argentino + más conocido por lo talentoso que es, lo impecable que juega y lo increible que es verlo. + Corre Messi. Va Messi, qué jugador. + + Sigue Messi. La mueve Messi por la izquierda. Vuelve Messi. + + Amaga Messi. Sigue Messi. La pisa Messi. La mueve Messi por la derecha. Vuelve Messi. + + Va Messi, la pulga, encara por la banda, pasa a tres jugadores, retoma para el centro del campo. + Va Messi, con un control fenomenal. La pisa Messi. + + Le pega Messiiii... ¡gol! diff --git a/src/interpreter.rs b/src/interpreter.rs new file mode 100644 index 0000000..df3984d --- /dev/null +++ b/src/interpreter.rs @@ -0,0 +1,299 @@ +use std::{ + fs::File, + io::{Read, Write}, +}; + +#[derive(PartialEq, Eq, Clone, Copy, Debug)] +enum Keyword { + Start, + End, + Assign(isize, isize), + Set0, + MvRight, + MvLeft, + PrintNum, + PrintChar, // unicode + GetNum, + GetChar, // Unicode + StartLoop, + EndLoop, + CopyClip, + PasteClip, + Ignore, +} + +pub fn run(path: &str) { + let mut file = File::open(path).unwrap(); + + let mut buf = String::new(); + file.read_to_string(&mut buf).unwrap(); + + let tokens = tokenize(buf); + let mut list = [0_isize; 10000]; + let mut pos = 0_usize; + let mut clip = 0_isize; + + let mut token_pos = 0; + let mut loop_stack: Vec = Vec::new(); + println!("{:?}", tokens); + while tokens[token_pos] != Keyword::End { + let tk = tokens[token_pos]; + match tk { + Keyword::End => break, + Keyword::Set0 => list[pos] = 0, + Keyword::Start => (), + Keyword::Assign(s, m) => list[pos] = list[pos] * m + s, + Keyword::MvRight => pos += 1, + Keyword::MvLeft => pos -= 1, + Keyword::PrintNum => { + print!("{}", list[pos]); + std::io::stdout().flush().unwrap(); + } + Keyword::PrintChar => { + if let Some(c) = char::from_u32(list[pos] as u32) { + print!("{}", c); + std::io::stdout().flush().unwrap(); + } + } + Keyword::GetNum => { + let mut input_text = String::new(); + std::io::stdin().read_line(&mut input_text).unwrap(); + if let Ok(num) = input_text.trim().parse::() { + list[pos] = num; + } + } + Keyword::GetChar => { + let mut input_text = String::new(); + std::io::stdin().read_line(&mut input_text).unwrap(); + list[pos] = input_text.chars().next().unwrap() as isize; + } + Keyword::StartLoop => { + if list[pos] == 0 { + token_pos = goto_end_of_loop(tokens.clone(), token_pos).unwrap() + 1; + } else { + loop_stack.push(token_pos); + } + } + Keyword::EndLoop => { + token_pos = loop_stack.pop().expect("Found unmatched 'vuelve messi'") - 1; + } + Keyword::CopyClip => clip = list[pos], + Keyword::PasteClip => list[pos] = clip, + Keyword::Ignore => (), + } + token_pos += 1; + } +} + +fn goto_end_of_loop<'a>(tokens: Vec, pos: usize) -> Result { + let mut loops = 0; + for (i, kw) in tokens[(pos + 1)..].iter().enumerate() { + match kw { + Keyword::StartLoop => loops += 1, + Keyword::EndLoop => { + if loops > 0 { + loops -= 1; + } else { + return Ok(i + pos + 1); + } + } + _ => (), + } + } + Err("Found unmatched 'sigue messi'") +} + +fn tokenize(text: String) -> Vec { + let clean_text = text + // .replace('\n', "") + // .replace(". ", ".") + // .replace(',', "") + // .replace('\t', "") + .replace(['\n', ',', '\t'], "") + .to_lowercase(); + let commands = clean_text.split('.').filter(|x| !x.is_empty()); + commands + .map(|command| { + let comm_trim = command.trim(); + if comm_trim.len() > 7 && &comm_trim[0..8] == "va messi" { + let mut sum = 0_isize; + let mut mult = 1_isize; + for word in comm_trim[8..].split(' ') { + if is_noun(word) { + sum += 1; + } else if is_adjetive(word) { + sum *= 2; + mult *= 2; + } else if word == "fútbol" { + mult *= -1; + } + } + Keyword::Assign(sum, mult) + } else { + match comm_trim { + "la agarra messi" => Keyword::Start, + "¡gol!" => Keyword::End, + "encara messi" | "ankara messi" => Keyword::Set0, + "la mueve messi por la derecha" => Keyword::MvRight, + "la mueve messi por la izquierda" => Keyword::MvLeft, + "juega messi" => Keyword::PrintNum, + "la pisa messi" => Keyword::PrintChar, + "siempre messi" => Keyword::GetNum, + "gambetea messi" => Keyword::GetChar, + "sigue messi" => Keyword::StartLoop, + "vuelve messi" => Keyword::EndLoop, + "corre messi" => Keyword::CopyClip, + "amaga messi" => Keyword::PasteClip, + word => { + println!("Ignored, {:?}", word); + Keyword::Ignore + } + } + } + }) + .collect() +} + +fn is_noun(word: &str) -> bool { + let nouns = [ + "actuación", + "actuaciones", + "astro", + "astros", + "banda", + "bandas", + "calidad", + "calidades", + "campo", + "campos", + "cancha", + "canchas", + "centro", + "centros", + "clase", + "clases", + "dios", + "dioses", + "estadio", + "estadios", + "estrella", + "estrellas", + "figura", + "figuras", + "galaxia", + "galaxias", + "gambeta", + "gambetas", + "habilidad", + "habilidades", + "ídola", + "ídolo", + "ídolos", + "ídolos", + "jugada", + "jugadas", + "jugador", + "jugadora", + "jugadores", + "jugadoras", + "lateral", + "laterales", + "leo", + "lio", + "leonel", + "lionel", + "muchacho", + "muchachos", + "muchacha", + "muchachas", + "mundo", + "mundos", + "país", + "países", + "partido", + "partidos", + "pelota", + "pelotas", + "pibe", + "pibes", + "piba", + "pibas", + "planeta", + "planetas", + "potencial", + "potenciales", + "pulga", + "pulgas", + "república", + "repúblicas", + "talento", + "talentos", + "titán", + "titanes", + "tribuna", + "tribunas", + "toda", + "todo", + "todas", + "todos", + ]; + nouns.contains(&word) +} + +fn is_adjetive(word: &str) -> bool { + let adjetives = [ + "argentina", + "argentino", + "argentinas", + "argentinos", + "favorita", + "favorito", + "favoritas", + "favoritos", + "fenomenal", + "fenomenales", + "futbolística", + "futbolísticas", + "futbolístico", + "futbolísticos", + "habilidosa", + "habilidoso", + "habilidosas", + "habilidosos", + "increible", + "increibles", + "irrepetible", + "irrepetibles", + "impecable", + "impecables", + "impresionante", + "impresionantes", + "magistral", + "magistrales", + "maravilloso", + "maravillosa", + "maravillosos", + "maravillosas", + "mundial", + "mundiales", + "nacional", + "nacionales", + "talentosa", + "talentoso", + "talentosas", + "talentosos", + "titánica", + "titánico", + "titánicas", + "titánicos", + "tremenda", + "tremendo", + "tremendas", + "tremendos", + "única", + "único", + "únicas", + "únicos", + ]; + adjetives.contains(&word) +} diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..144a532 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1 @@ +pub mod interpreter; diff --git a/src/main.rs b/src/main.rs index e7a11a9..cfd41c1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,5 @@ +use messiscript_interpreter::interpreter::run; + fn main() { - println!("Hello, world!"); + run("test.messi"); } diff --git a/test.messi b/test.messi new file mode 100644 index 0000000..e6302da --- /dev/null +++ b/test.messi @@ -0,0 +1,159 @@ +La agarra Messi. #Inicio del programa. + +Va Messi, nadie supera la calidad única en argentina del ídolo favorito. La pisa Messi. Ankara messi. # \n. +Va Messi, clases favoritas magistral clase impecable habilidoso futbolístico favorito. La pisa Messi. Ankara messi #P. +Va Messi, calidad titánicas jugada talentosa impresionantes jugada única jugador favorito fenomenales. La pisa Messi. Ankara messi. #l. +Va Messi, banda argentinas mundos tremenda maravilloso mundial ídola futbolísticas impresionantes pibas. La pisa Messi. Ankara messi. #e. +Va Messi, mundos talentosos jugador argentino impecables futbolístico maravillosas magistrales mundo. La pisa Messi. Ankara messi. #a. +Va Messi, tribunas favorito campo maravillosa clase magistrales favoritas argentinos clases maravilloso talentos. La pisa Messi. Ankara messi. #s. +Va Messi, clases argentina jugada titánico futbolístico argentino países única maravillosas laterales. La pisa Messi. Ankara messi. #e. +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . +Va Messi, estadios magistrales jugador futbolísticas titánicas futbolística países futbolística única república. La pisa Messi. Ankara messi. #e. +Va Messi, todo habilidosa gambeta argentinas impresionante dioses irrepetibles países futbolísticas leo habilidoso. La pisa Messi. Ankara messi. #n. +Va Messi, países única galaxia favorito galaxias increibles única muchacha talentosa irrepetibles. La pisa Messi. Ankara messi. #t. +Va Messi, toda habilidosas pibas habilidoso habilidosos tremendo mundo maravillosas titánicos habilidades. La pisa Messi. Ankara messi. #e. +Va Messi, gambeta titánica países fenomenal cancha maravillosa habilidosos increibles clase tremendas. La pisa Messi. Ankara messi. #r. +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . +Va Messi, gambetas tremenda campo único tremendo mundiales argentina tremenda leonel. La pisa Messi. Ankara messi. #a. +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . +Va Messi, astros futbolística habilidad únicas galaxia únicas titánica talentosos impecables. La pisa Messi. Ankara messi. #p. +Va Messi, todo habilidoso pelotas tremendo argentinos piba magistrales pulga tremenda potencial increibles leo. La pisa Messi. Ankara messi. #o. +Va Messi, república nacionales habilidad habilidosos astro irrepetible habilidosos favoritas jugadores habilidosa jugada. La pisa Messi. Ankara messi. #s. +Va Messi, astros futbolística lio fenomenales futbolísticos figuras tremenda favoritas futbolísticos calidades. La pisa Messi. Ankara messi. #i. +Va Messi, estrellas argentino laterales favorito pelotas tremendo nacionales estadio maravillosos irrepetibles. La pisa Messi. Ankara messi. #t. +Va Messi, astro titánicas clases argentino argentino pulga futbolística impecable habilidosa muchacha. La pisa Messi. Ankara messi. #i. +Va Messi, todo increibles ídola impecable canchas únicos maravillosos campo nacional muchacha fenomenales. La pisa Messi. Ankara messi. #v. +Va Messi, jugadas maravillosas pibe titánicas impecable magistral planeta única irrepetible campo. La pisa Messi. Ankara messi. #e. +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . +Va Messi, dioses futbolísticos clases tremenda únicos galaxias irrepetibles increible habilidosos lateral. La pisa Messi. Ankara messi. #i. +Va Messi, pulga futbolístico toda habilidosos increible muchachos habilidosos jugadora únicas dios maravilloso. La pisa Messi. Ankara messi. #n. +Va Messi, bandas argentina estrellas fenomenales lio argentinos titánicos centro habilidoso único. La pisa Messi. Ankara messi. #t. +Va Messi, planeta talentosas toda talentosa impecables habilidosas titán favorito mundiales pulga. La pisa Messi. Ankara messi. #e. +Va Messi, astros impresionantes calidad argentinos tremendos maravillosa jugadoras titánico todos maravillosas jugadora. La pisa Messi. Ankara messi. #g. +Va Messi, partidos tremendo ídolos nacionales irrepetibles futbolísticas talentos habilidosos talentosas piba. La pisa Messi. Ankara messi. #e. +Va Messi, clase talentosa república maravilloso galaxia impresionante impresionante futbolísticos muchachos mundiales. La pisa Messi. Ankara messi. #r. +Va Messi, la cancha de los argentinos y argentinas tiene a un pibe único astro futbolístico envíado por los dioses argentinos. La pisa Messi. Ankara messi. #. +Va Messi, nadie supera la calidad única en argentina del ídolo favorito. La pisa Messi. Ankara messi. # \n. + +La mueve Messi por la derecha. # Se mueve a la posición 1, para reservar el valor de la posición 0. +Siempre Messi. # Guarda en la posición 1 el input del usuario (número de números de fibonacci a imprimir). + +La mueve Messi por la derecha. + +Va Messi, nadie supera la calidad única en argentina del ídolo favorito. La pisa Messi. Ankara messi. # \n. +Va Messi, talento titánicas futbolísticos impecable futbolísticos gambetas tremendos partido únicos. La pisa Messi. Ankara messi.#F. +Va Messi, lateral nacionales toda impecable argentino titán tremendos futbolístico fenomenal todos. La pisa Messi. Ankara messi.#i. +Va Messi, banda fenomenal talentos maravillosa mundiales futbolística maravillosos piba futbolísticas. La pisa Messi. Ankara messi#b.. +Va Messi, jugada maravilloso galaxia titánica titánicas astros tremenda laterales nacional planeta talentosa pelota. La pisa Messi. Ankara messi.#o. +Va Messi, leonel impecable campos favorito talentoso todas talentoso centros impresionantes mundos increible. La pisa Messi. Ankara messi.#n. +Va Messi, pelota fenomenales piba argentinos tremendas titánicas maravillosos fenomenal canchas. La pisa Messi. Ankara messi.#a. +Va Messi, jugadora titánicas muchachas increibles futbolístico futbolísticas argentinas clase únicos jugadas. La pisa Messi. Ankara messi.#c. +Va Messi, estrellas increibles mundos nacionales increibles mundiales nacional muchacho tremendo pelotas. La pisa Messi. Ankara messi.#c. +Va Messi, astros titánicas habilidad único titánica jugadas futbolística favorita argentino cancha. La pisa Messi. Ankara messi.#i. +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . +Va Messi, pulga habilidosa habilidad habilidosas laterales talentosa talentosos favorito todo habilidosa bandas. La pisa Messi. Ankara messi.#s. +Va Messi, centro favorita mundos irrepetibles habilidosos increible jugadoras magistrales talentosa tribunas. La pisa Messi. Ankara messi.#e. +Va Messi, piba talentosos república titánicas dios maravillosa maravillosas futbolística favorito astros. La pisa Messi. Ankara messi.#q. +Va Messi, gambeta favoritas banda maravilloso astro futbolística increible clase mundiales único todo. La pisa Messi. Ankara messi.#u. +Va Messi, leonel talentosa centro titánicos talentoso futbolísticos pelota irrepetible fenomenal galaxias. La pisa Messi. Ankara messi.#e. +Va Messi, figura fenomenales clases mundial argentinas estadios maravillosa estrella magistral estrellas únicas. La pisa Messi. Ankara messi.#n. +Va Messi, clase futbolísticas talento fenomenales magistrales impecables habilidosas gambeta impecable titanes. La pisa Messi. Ankara messi.#c. +Va Messi, dios magistral astro talentoso única mundial países mundial únicos toda. La pisa Messi. Ankara messi.#e. +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . +Va Messi, ídolos impecables pibes nacional muchachas fenomenales argentinas pibes talentosa tremendos tribunas. La pisa Messi. Ankara messi.#u. +Va Messi, mundo argentinos planetas únicos pulgas increibles irrepetible titánica únicas. La pisa Messi. Ankara messi.#p. +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . +Va Messi, pelota habilidosas talentos maravillosos astros únicas futbolística país maravillosos futbolísticos. La pisa Messi. Ankara messi.#t. +Va Messi, repúblicas maravillosas todas irrepetibles magistral partido maravillosa ídolos titánicas tribunas irrepetibles pibes. La pisa Messi. Ankara messi.#o. +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . + +La mueve Messi por la izquierda. #Mueve el puntero a la posición 1. + +Juega Messi. # Imprime el número de números de fibonacci a imprimir. + +La mueve Messi por la derecha. #Mueve el puntero a la posición 1. + +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . +Va Messi, gambeta maravilloso campo favoritos astros únicas mundial lio increible maravillosa. La pisa Messi. Ankara messi.#t. +Va Messi, laterales argentinas país argentina nacional nacional titanes argentinas impecable muchacha. La pisa Messi. Ankara messi.#e. +Va Messi, todos favorita planeta impecables dios habilidosa habilidoso argentinos galaxia nacional. La pisa Messi. Ankara messi.#r. +Va Messi, habilidades habilidoso figura argentinos titánicos galaxias tremendas estrellas tremendo habilidosas clase. La pisa Messi. Ankara messi.#m. +Va Messi, muchachas único bandas único muchacho impecable habilidosos talentosas laterales talentosas estrellas. La pisa Messi. Ankara messi.#s. +Va Messi, habilidades futbolísticos estadios titánicas toda fenomenales maravillosa clase únicas. La pisa Messi. Ankara messi.#:. +Va Messi, nadie supera la calidad única en argentina del ídolo favorito. La pisa Messi. Ankara messi. # \n. + +Va Messi, la pulga. # Le asigna 1 a la posición 2 porque f(1) = 1. +La mueve messi por la derecha. Va Messi, la pulga. #Mueve el puntero a la posición 3, le asigna 1 porque f(2) = 1. + +La mueve Messi por la izquierda. La mueve Messi por la izquierda. # Mueve el puntero a la posición 1. +Va Messi, cómo juega al fútbol señores. # Cambia signo de número de términos a imprimir. + + +Sigue Messi. #"Ciclo" para f(1), verifica que se quiera imprimir este término. +Va Messi, la pulga. # Suma 1 a la posición 1. +La mueve Messi por la derecha. Juega Messi. # Mueve el puntero a la posición 2, imprime el valor de f(1). +La mueve Messi por la derecha. La mueve Messi por la derecha. # Mueve el puntero a la posición 4. +Va Messi, los dioses argentinos favoritos de países los maravillosos titanes futbolísticos impresionantes. La pisa Messi. Ankara messi.#,. +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . +Vuelve Messi. #fin del ciclo. + +La mueve Messi por la izquierda. La mueve Messi por la izquierda. La mueve Messi por la izquierda. # Mueve el puntero a la posición 1. + + +Sigue Messi. #"Ciclo" para f(2), verifica que se quiera imprimir este término. +Va Messi, la pulga. # Suma 1 a la posición 1. +La mueve Messi por la derecha. La mueve Messi por la derecha. Juega Messi. # Mueve el puntero a la posición 3, imprime el valor de f(2). +La mueve Messi por la derecha. # Mueve el puntero a la posición 4. +Vuelve Messi. #fin del ciclo. + +La mueve Messi por la izquierda. La mueve Messi por la izquierda. La mueve Messi por la izquierda. # Mueve el puntero a la posición 1. + + +Sigue Messi. #Inicio de gran ciclo. + + +Va messi, el titán. #Suma uno a la posición 1. + +La mueve Messi por la derecha. +Sigue Messi. #Busca primer valor a la derecha de la posición 1, distinto de 0; Supongamos que está en la posición k. +La mueve Messi por la derecha. +Vuelve Messi. + +Va Messi, los dioses argentinos favoritos de países los maravillosos titanes futbolísticos impresionantes. La pisa Messi. Ankara messi.#,. +Va Messi, los laterales del tremendo habilidoso tremendo habilidoso y talentoso. La pisa Messi. Ankara messi. # . + +La mueve Messi por la izquierda. La mueve Messi por la izquierda. #Va a la posición k-2. +Corre Messi. # Copia valor de la posición k-2 al portapapeles (f(k-2)). +La mueve Messi por la derecha. La mueve Messi por la derecha. #Va a la posición k. +Amaga Messi. # Pega valor del portapapeles a la posición k (f(k-2)). + +La mueve Messi por la izquierda. # Va a la posición k-1. +Corre Messi. # Copia valor de la posición k-1 al portapapeles (f(k-1)). +La mueve Messi por la derecha. La mueve Messi por la derecha. # Va a la posición k+1. +Amaga Messi. # Pega valor del portapapeles a la posición k+1 (f(k-1)). +Va messi, viva el fútbol!. #Cambia signo a la posición k+1. + +Sigue Messi. # Suma a la posición k+1 hasta que sea 0 y suma a la posición k hasta que sea f(k-2)+f(k-1). +Va messi, con toda. # Suma 1 a la posición k+1. +La mueve Messi por la izquierda. # Va a la posición k. +Va Messi, dando clases. # Suma 1 a la posición k. +La mueve Messi por la derecha. # Va a la posición k+1. +Vuelve Messi. #Cierra ciclo, en la posición k quedó el valor de f(k-2)+f(k-1). + +La mueve Messi por la izquierda. Juega Messi. # Va a la posición k, imprime el valor de f(k). + +Sigue Messi. #Va a la posición 0, o 1 si ya listó todos. +La mueve Messi por la izquierda. +Vuelve Messi. + +La mueve Messi por la izquierda. #Va a la posición 0, en caso de que la 1 tenga valor de 0. +La mueve Messi por la derecha. #Va a la posición 1. + + +Vuelve Messi. #fin del gran ciclo. + + +Va Messi, la cancha de los argentinos y argentinas tiene a un pibe único astro futbolístico envíado por los dioses argentinos. La pisa Messi. Ankara messi. #. +Va Messi, nadie supera la calidad única en argentina del ídolo favorito. La pisa Messi. Ankara messi. # \n. + +Le pega Messiiiii... ¡gol!