module NC_templates_constants_signatures_enumeratedValues { //template definitions, with and without matching symbols, good and bad template TypeA m_templateB := { field1 := ?, field2 := "a", field3 := true } template TypeA mw_templateC := { field1 := 1, field2 := pattern "a", field3 := true } template TypeA m_templateA := { field1 := 1, field2 := "a", field3 := true } //derived templates template (value) TypeA md_templateAd modifies m_templateA := { field1 := 2 } template TypeA mdw_templateCd modifies m_templateC := { field2 := pattern "a", field3 := true } template TypeB m_templateBA := { field1 := 1, field2 := "a", field3 := true, //field4 := m_templateA field4 := { field1 := 1, field2 := "a", field3 := true } } template integer m_i1 := (1, 2); template integer m_i2 := ?; template GrantMngtSubHeader m_grantMngtUgsSi0 := { schSvcUgs := { si := '0'B , pm := ? , reserved14 := c_14ZeroBits } } //enumerated values, good and bad, //also data types, good and bad type enumerated Enum { e_a, e_b, e_c } type enumerated enum { a, b, c } //signatures, goot and bad //also formal parameters, good and bad signature s_lookup1(in charstring p_key) return charstring exception (e_NotFound); signature sx_lookup1(in charstring key) return charstring exception (e_NotFound); //constants and external constants, good and bad const integer c_a1 := 2; const integer c_1 := 2 , c_2 :=3; external const integer cx_a0; external const integer ecx_a0, cx_1; function f_00(){ const type_00 const_00 := 1; } altstep a_00(){ const type_00 const_00 := 1; } testcase ts_00() runs on component_00 { const type_00 cl_onst_00 := 1; } const integer cl_a1 := 2; control{ const type_00 cl_onst_00 := 1; } }