Central Docs
Catálogo Inicio

Sintaxis canónica

Índice

  1. Léxico y declaraciones
  2. Expresiones y operadores
  3. Control y funciones
  4. Módulos, cláusulas y preprocesador
  5. Diagnóstico y sintaxis retirada
  6. Directivas condicionales
  7. Directivas de enlace y librerías
  8. Cláusulas de target y configuración
  9. Directivas de ensamblador
  10. Imports y namespaces

Los archivos Bagron usan indentación significativa y declaraciones explícitas:

public limite: const int32 = 10

inline func sumar(left: int32, right: int32) int32:
    return left + right

if limite > 0:
    pass

Los comentarios empiezan con ;. Los punteros separan declaración, dirección y desreferenciación:

value: int32 = 10
pointer *: int32 = $value
(pointer) = 11

Cláusulas de módulo

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

System, Arch, Boot y Optimizations se validan antes de generar LLVM. Los módulos importados no cambian el target global.

Formas retiradas

  • global: los globals públicos se resuelven automáticamente.
  • extern "biblioteca":: ahora se declara el dominio, por ejemplo extern windows "kernel32":.
  • package y package2: la creación de librerías usa library --v1 o library --v2.
  • @order_lsb: LSB es el layout predeterminado; solo @order_msb lo cambia.

El parser conserva diagnósticos específicos para varias formas retiradas, pero no las acepta como sintaxis funcional.