Central Docs
Catálogo Inicio

Módulos, cláusulas y preprocesador

Guías relacionadas

Imports

import math
import math as m
import { triple as times_three } from math

Los imports simples buscan módulos .bg bajo modules/ y conservan un namespace. Los imports selectivos enlazan símbolos public con el alias local. private sigue bloqueando el acceso aunque el módulo se haya cargado.

Cláusulas de target

clause System 'windows'
clause Arch 'amd'
clause Optimizations 'prod'

baremetal requiere además Boot explícito:

clause System 'baremetal'
clause Arch 'amd'
clause Boot 'none'

Los módulos importados se comparan con el target del módulo de entrada.

Preprocesador

Las condiciones se resuelven antes del lexer de Bagron y no pueden anidarse:

#if OS, "windows"
func platform() int32:
    return 1
#elif ARCH, "amd"
func platform() int32:
    return 2
#else
func platform() int32:
    return 0
#end

Solo se admiten OS y ARCH, con las directivas #if, #elif, #else y #end. Una rama no seleccionada no se analiza como código Bagron.