Entonces, hoy vamos a construir un analizador de Markdown usando el lenguaje de programación de óxido. Nuestro objetivo es construir un analizador de Markdown para aprender sobre conceptos de análisis y no construir un analizador de calificación de grado de producción. También vamos a aprender óxido desde el comienzo al crear este proyecto para que no necesite tener experiencia en el lenguaje de programación de óxido.
Requisitos previos
- Familiaridad con cualquier lenguaje de programación
- Un editor de código
- Se deben instalar complementos o extensiones de óxido y óxido para su IDE.
Configuración
Comencemos por configurar el proyecto con óxido.
- Primero, creemos una carpeta con el nombre
markdown-parser
. - Abra este directorio en su editor de código, usaré VScode pero puede usar lo que desee.
- Asegúrese de haber instalado
rust
en su sistema y sus complementos o extensiones para su editor. - Abra su terminal y vaya al directorio del proyecto y ejecute el siguiente comando ->
cargo init
Después de ejecutar el comando, verá que se crean algunos archivos y carpetas nuevos. Veamos a cada uno de ellos y entendamos qué son.
Cargo.toml
-> Este archivo contiene los metadatos sobre el proyecto (su nombre, versión, edición de carga, dependencias, and so forth.).gitignore
-> El comando anterior crea la estructura del proyecto e inicializa un repositorio de git, por lo tanto, tenemos un.gitignore
archivo también.src
Carpeta -> Esta carpeta contiene todo el código que vamos a escribir y ejecutar.src/essential.rs
-> Este es el punto de entrada de nuestro código, entenderemos más al respecto más tarde, pero por ahora puedes ver que hay un easy código de saludo. Ahora, compilemos y ejecutemos el código para ver qué estamos obteniendo como salida.
Puede ver que primero está compilando el proyecto, luego creó una compilación de desarrollo (no una compilación de lanzamiento u compilación optimizada) y luego comenzó a ejecutar el proyecto desde el goal
carpeta. Finalmente se imprime Hey World
.
[!Note] Directorio de destino En un proyecto de óxido que utiliza carga para administrar sus dependencias, siempre obtendrá un directorio de destino donde mantendrá sus compilaciones de desarrollo y productos. Cuando ejecuta el comando
cargo run
Creará una construcción de desarrollo o depuración y ejecutará eso. Si desea tener una construcción de producción o lanzamiento, puede ejecutarcargo construct
.
Ahora experimentemos con el essential.rs
código y en lugar de imprimir Hey World!
intentemos imprimir algo más como el título de nuestro proyecto.
Modificador essential.rs
para imprimir el título del proyecto
fn essential() {
println!("Beginning our Markdown Parser mission!");
println!("That is going to be superior!");
}
Entendamos lo que está sucediendo en este código.
- La primera línea outline una función llamada
essential
y para definir una función en óxido usamos la palabra clavefn
. - La segunda línea está usando el
println!
Macro para imprimir el texto en la pantalla. - La tercera línea es usar la misma macro para imprimir otro texto en la pantalla.
Si viene de Python en Rust, terminamos cada declaración con un punto y coma y eso es necesario, de lo contrario, lanzará un error de compilación. En óxido usamos aparato ortopédico rizado
{ }
Para comenzar y terminar un cuerpo de funciones en lugar de depender de la sangría.
¿Ahora te estás preguntando qué es una macro? Parece una función y funciona como una función de impresión. Por ahora, no entremos en eso, lo explicaré más tarde, ya que podría complicarse si eres nuevo en Rust. Por ahora, solo piense en ellos como una función, pero a medida que continuaremos trabajando cada vez más en este proyecto, explicaré qué es exactamente la macro y cómo podemos crear nuestras propias macros.
Conclusión
Espero que estés emocionado ya que estoy por esta serie y continuarás apareciendo para el resto de la serie y construyendo tu propio analizador de Markdown y, lo más importante, aprendes algo nuevo y emocionante. En la próxima publicación, comenzaremos a trabajar en nuestro analizador de Markdown. Nos vemos pronto.