(version 1000) (serializator "test1" (define "alpha_max" 100u ["alpha"]) (define-enum "MyEnum" ["item1" "item2"] (jail-derive [Clone Debug Eq PartialEq]) (jail-repr Rust) ; Rust, C, "other" (jail-decl "serde(crate = \"self::serde\)") ; can be repeated multiple times (comment "test123") ) (define-enum "OurEnum" ["h_item1" "item2" "c_item" "item3-test"]) ;; Scheme structure (procedure "enumtest" (arg "enum_data" (enumerator "MyEnum")) (arg "enum_data_2" (enumerator "OurEnum")) (arg "enum_data_3" (enumerator "MyEnum")) (arg "enum_data_4" (vector (enumerator "OurEnum"))) ) (rootprocedure (proc "main1" ["enumtest"]) ) ; for enum (field/noname f/enum '("label3")) ;root "title of the Struct" (fields...) (rootstruct "CommonLevels" (field "enum1" (f/argenum "MyEnum" ["main1" "enum_data"] )) (field "enum2" (f/argenum "OurEnum" ["main1" "enum_data_2"] )) (field "enum3" (f/argenum "MyEnum" ["main1" "enum_data_3"] )) (field "enum4" (f/vector (f/argenum "OurEnum" ["main1" "enum_data_4"]))) ) )