- Antril
- Primeros pasos
- Tu primer programa
Tu primer programa
Crea un proyecto de Antril a partir de una plantilla, ejecútalo, compílalo y modifícalo.
En esta página
Un proyecto de Larva es una carpeta con un archivo de proyecto .queen y sus archivos fuente. larva new crea uno a partir de una plantilla.
Crear un proyecto
larva new sin argumentos muestra las plantillas y los lenguajes disponibles:
larva new
Templates (larva new <template> [Name] [--lang <language>]):
Console-App A program for the console: its Main prints a greeting
Library A library other projects use: a class with a method
Languages (--lang):
antril Antril 0.8.0 (.ant)
Crea un programa de consola llamado Hello:
larva new Console-App Hello
C:\work\Hello: Console App in Antril (Program.ant, Hello.queen)
larva build Hello\Hello.queen
El proyecto se crea en una carpeta nueva con su nombre; -o <folder> lo coloca en otro lugar. Si Antril es el único lenguaje instalado, larva lo usa directamente; si no, agrega --lang antril.
Qué contiene el proyecto
Hello/
Hello.queen the project file
Program.ant the program
bin/ the build (made by larva build or larva run)
Program.ant contiene el punto de entrada, Main, dentro del espacio de nombres del proyecto:
import System;
into namespace Hello
{
/// The program's entry.
Main()
{
Console.WriteLine("Hello from Larva!");
}
}
Hello.queen describe qué es el proyecto y cómo se compila:
queen 1.0;
chunk PROJ:
name: Hello,
type: exe,
version: v1.0
chunk BUILD:
gc: default,
backend: llvm,
optimization: 3,
borrowcheck: off,
unsafe: allow
larva new escribe el chunk BUILD con los valores que usa tu máquina (consulta larva config en El comando larva). Cada chunk y cada clave se describen en Archivos de proyecto.
Ejecutarlo
Desde la carpeta del proyecto, larva run compila el programa si algo cambió y lo ejecuta:
cd Hello
larva run
C:\work\Hello\bin\Hello.exe (llvm back end, O3, entry Hello::Hello.$Module.Main)
Hello from Larva!
La primera línea es el informe de compilación de larva; se escribe en el flujo de errores, así que la salida del propio programa queda separada. Si lo vuelves a ejecutar sin cambios, larva pasa directamente al programa.
larva run acepta las mismas opciones de compilación que larva build. Por ejemplo, larva run --backend x64 compila con el back end x86-64 propio de Larva, que compila más rápido que LLVM.
Compilarlo
larva build sin ningún archivo compila el proyecto en el que estás:
larva build
C:\work\Hello\bin\Hello.exe (llvm back end, O3, entry Hello::Hello.$Module.Main)
El ejecutable se genera en bin/<name>.exe, a menos que el .queen indique otro lugar con output: en BUILD. Un proyecto con type: library genera bin/<name>.dll, una biblioteca de Larva que otros proyectos pueden usar.
Tip
Para revisar el código sin generar nada, usa larva build --check.
Modificar el programa
Abre Program.ant y reemplaza Main:
import System;
into namespace Hello
{
/// The program's entry.
Main()
{
str[] names = ["Ana", "Luis", "Mia"];
loop (str name in names)
Console.WriteLine($"Hello, {name}!");
Console.WriteLine($"{names.Length} greetings");
}
}
larva run
C:\work\Hello\bin\Hello.exe (llvm back end, O3, entry Hello::Hello.$Module.Main)
Hello, Ana!
Hello, Luis!
Hello, Mia!
3 greetings
Todo archivo .ant dentro de la carpeta del proyecto forma parte del proyecto, así que puedes agregar archivos junto a Program.ant sin declararlos en ningún lado.
Una biblioteca
La plantilla Library crea un proyecto que otros proyectos usan:
larva new Library Shapes
C:\work\Shapes: Library in Antril (Greeter.ant, Shapes.queen)
larva build Shapes\Shapes.queen
Otro proyecto la usa nombrándola en su chunk DEPS (proj: ../Shapes), o como paquete a través de Hive.
Siguiente paso: el recorrido por el lenguaje.
Editar esta página en GitHub Reportar un problema