ludic/examples/rejected/permap_maps/permap_maps.ludic

22 lines
942 B
Text

# permap_maps.ludic - `ludicc --check` reads every map directory and checks its tables against their
# records. maps/m1 holds five mistakes, each refused at its file, line and column: a field the
# record lacks, a value of the wrong type, a constant nobody declared, a key naming no row, and a
# chunked table's key written in two of the map's chunk files (t1, in trees/-1_0 and trees/0_0).
program PerMapMaps {
numbers float
const MDL_TENT: int = 7
property Spot { key: string = "", x: float = 0.0 }
@PerMap registry Spots of Spot from "spots.lres"
property PropRow {
key: string = ""
model: int = 0
scale: float = 1.0
@Ref(Spots) home: string = ""
}
@PerMap @ByKey registry Props of PropRow from "props.lres"
property Tree { key: string = "", x: float = 0.0 }
@PerMap @Chunked(64) registry Trees of Tree from "trees/{cx}_{cz}.lres"
entry (props: mut Props) {
print(`{props_load(props, "m1")}`)
}
}