"매 Eugen Systems NDF (Nakami Design File) 의 lossless parser — 매 mod tooling 의 backbone.". NDF 는 매 Eugen 의 in-house declarative DSL — Wargame, Steel Division, WARNO 매 game data definition 사용. ndf-parse (Ulibos) 는 매 round-trip preservation (comments, whitespace, formatting) 의 Python parser.
매 핵심
매 NDF 구조
Object: EntityName is TEntityType ( property = value ) — 매 typed object literal.
Template: template TFoo [Param: int] is TFoo ( ... ) — 매 generic-like.
Map: MAP[(k, v), ...] — 매 ordered dictionary.
Vector: [a, b, c] — 매 ordered list.
GUID/Reference: GUID:{...}, ~/Path/To/Object — 매 reference.
매 ndf-parse 특징
AST round-trip: 매 parse → modify → unparse 후 매 byte-identical (modify X 영역).
언제: 매 Eugen game mod, WARNO balance script, NDF diff/patch tool.
언제 X: 매 non-Eugen game (Bethesda Plugin = ESM/ESP, Paradox = PDX script). 매 다른 parser.
❌ 안티패턴
Regex 으로 NDF 편집: 매 nested template / comment break. 매 ndf-parse 의 사용.
매 unparse 후 manual format: 매 round-trip 의 손실. 매 ndf-parse 가 매 formatting 보존.
매 GUID hard-code: 매 reference 깨짐. 매 path 의 사용 (~/Foo/Bar).