Commit e7fa05a251e0fe746b9524e94b42b5093c4714bf
1 parent
c20e8ff6
add comment to main entry of Alternative. This comment exists to explain the ma…
…in goal of the alternative and located on top of the alternative
Showing
1 changed file
with
31 additions
and
15 deletions
Show diff stats
types/ds_types.anubis
| @@ -30,7 +30,7 @@ public type Bool_List: | @@ -30,7 +30,7 @@ public type Bool_List: | ||
| 30 | list. | 30 | list. |
| 31 | 31 | ||
| 32 | public type DS_Comment: | 32 | public type DS_Comment: |
| 33 | - none, | 33 | + no_comment, |
| 34 | comment(String comment). | 34 | comment(String comment). |
| 35 | 35 | ||
| 36 | public type DS_Component: | 36 | public type DS_Component: |
| @@ -61,7 +61,7 @@ public define DS_Component | @@ -61,7 +61,7 @@ public define DS_Component | ||
| 61 | DS_Anubis_Type anb_type, | 61 | DS_Anubis_Type anb_type, |
| 62 | String name | 62 | String name |
| 63 | )= | 63 | )= |
| 64 | - component(list, anb_type, name, none). | 64 | + component(list, anb_type, name, no_comment). |
| 65 | 65 | ||
| 66 | public define DS_Component | 66 | public define DS_Component |
| 67 | /* Default constructor helper without Bool_List means 'none' | 67 | /* Default constructor helper without Bool_List means 'none' |
| @@ -71,7 +71,7 @@ public define DS_Component | @@ -71,7 +71,7 @@ public define DS_Component | ||
| 71 | DS_Anubis_Type anb_type, | 71 | DS_Anubis_Type anb_type, |
| 72 | String name | 72 | String name |
| 73 | )= | 73 | )= |
| 74 | - component(none, anb_type, name, none). | 74 | + component(none, anb_type, name, no_comment). |
| 75 | 75 | ||
| 76 | 76 | ||
| 77 | public type DS_Alternative: | 77 | public type DS_Alternative: |
| @@ -82,7 +82,8 @@ public type DS_Alternative: | @@ -82,7 +82,8 @@ public type DS_Alternative: | ||
| 82 | ), | 82 | ), |
| 83 | //alternative | 83 | //alternative |
| 84 | alternative( | 84 | alternative( |
| 85 | - String alt_name, //Name of the alternative | 85 | + String alt_name, //Name of the alternative |
| 86 | + DS_Comment comment, //main comment of the alternative if need | ||
| 86 | List(DS_Component) components //list of components of that alternative | 87 | List(DS_Component) components //list of components of that alternative |
| 87 | ). | 88 | ). |
| 88 | 89 | ||
| @@ -93,8 +94,17 @@ public define DS_Alternative | @@ -93,8 +94,17 @@ public define DS_Alternative | ||
| 93 | ( | 94 | ( |
| 94 | String alt_name | 95 | String alt_name |
| 95 | )= | 96 | )= |
| 96 | - enum(alt_name, none). | ||
| 97 | - | 97 | + enum(alt_name, no_comment). |
| 98 | + | ||
| 99 | +public define DS_Alternative | ||
| 100 | + alternative | ||
| 101 | + ( | ||
| 102 | + String alt_name, //Name of the alternative | ||
| 103 | + List(DS_Component) components //list of components of that alternative | ||
| 104 | + )= | ||
| 105 | + alternative(alt_name, no_comment, components) | ||
| 106 | +. | ||
| 107 | + | ||
| 98 | public type DS_Type: | 108 | public type DS_Type: |
| 99 | ds_type( | 109 | ds_type( |
| 100 | String type_name, | 110 | String type_name, |
| @@ -139,8 +149,8 @@ define List(Extern_type) | @@ -139,8 +149,8 @@ define List(Extern_type) | ||
| 139 | [h . t] then | 149 | [h . t] then |
| 140 | if h is | 150 | if h is |
| 141 | { | 151 | { |
| 142 | - enum(_ , _) then extract_extern_type(t, so_far) | ||
| 143 | - alternative(_, components) then | 152 | + enum(_ , _) then extract_extern_type(t, so_far) |
| 153 | + alternative(_, _, components) then | ||
| 144 | extract_extern_type(t, extract_extern_type(components, so_far)) | 154 | extract_extern_type(t, extract_extern_type(components, so_far)) |
| 145 | } | 155 | } |
| 146 | } | 156 | } |
| @@ -186,7 +196,7 @@ public define String | @@ -186,7 +196,7 @@ public define String | ||
| 186 | )= | 196 | )= |
| 187 | if comment is | 197 | if comment is |
| 188 | { | 198 | { |
| 189 | - none then "", | 199 | + no_comment then "", |
| 190 | comment(_str) then "//"+_str | 200 | comment(_str) then "//"+_str |
| 191 | } | 201 | } |
| 192 | . | 202 | . |
| @@ -239,8 +249,8 @@ define Int | @@ -239,8 +249,8 @@ define Int | ||
| 239 | [h . t] then | 249 | [h . t] then |
| 240 | with name = if h is | 250 | with name = if h is |
| 241 | { | 251 | { |
| 242 | - enum(name, _) then name, | ||
| 243 | - alternative(name, _) then name | 252 | + enum(name, _) then name, |
| 253 | + alternative(name, _, _) then name | ||
| 244 | }, | 254 | }, |
| 245 | alternative_name_max_length(t, max(current_length, length(name))) | 255 | alternative_name_max_length(t, max(current_length, length(name))) |
| 246 | } | 256 | } |
| @@ -276,7 +286,7 @@ define Int | @@ -276,7 +286,7 @@ define Int | ||
| 276 | with current = if h is | 286 | with current = if h is |
| 277 | { | 287 | { |
| 278 | enum(name, _) then length(name), | 288 | enum(name, _) then length(name), |
| 279 | - alternative(name, components) then component_type_max_length(components, 0) | 289 | + alternative(name, _, components) then component_type_max_length(components, 0) |
| 280 | }, | 290 | }, |
| 281 | alternative_type_max_length(t, max(current, so_far_length)) | 291 | alternative_type_max_length(t, max(current, so_far_length)) |
| 282 | } | 292 | } |
| @@ -311,8 +321,8 @@ define Int | @@ -311,8 +321,8 @@ define Int | ||
| 311 | [h . t] then | 321 | [h . t] then |
| 312 | with current = if h is | 322 | with current = if h is |
| 313 | { | 323 | { |
| 314 | - enum(_, _) then 0, | ||
| 315 | - alternative(_, components) then component_name_max_length(components, 0) | 324 | + enum(_, _) then 0, |
| 325 | + alternative(_, _, components) then component_name_max_length(components, 0) | ||
| 316 | }, | 326 | }, |
| 317 | alternative_type_name_max_length(t, max(current, so_far_length)) | 327 | alternative_type_name_max_length(t, max(current, so_far_length)) |
| 318 | } | 328 | } |
| @@ -336,7 +346,13 @@ public define String | @@ -336,7 +346,13 @@ public define String | ||
| 336 | enum(name, _comment) then prefix + fill(name+(if is_empty(t) then "" else ","), type_length + name_length+2) + dump(_comment) + | 346 | enum(name, _comment) then prefix + fill(name+(if is_empty(t) then "" else ","), type_length + name_length+2) + dump(_comment) + |
| 337 | dump_DS_Alternative_list(t, type_length, alt_name_length, name_length), | 347 | dump_DS_Alternative_list(t, type_length, alt_name_length, name_length), |
| 338 | 348 | ||
| 339 | - alternative(name, components) then prefix + name+"("+ | 349 | + alternative(name, comment, components) then |
| 350 | + //if comment exists, add it first | ||
| 351 | + (if comment != no_comment then | ||
| 352 | + prefix + dump(comment) +"\n" | ||
| 353 | + else | ||
| 354 | + "")+ | ||
| 355 | + prefix + name+"("+ | ||
| 340 | dump(components, true, type_length, name_length)+(if is_empty(t) then "" else ",")+ | 356 | dump(components, true, type_length, name_length)+(if is_empty(t) then "" else ",")+ |
| 341 | dump_DS_Alternative_list(t, type_length, alt_name_length, name_length) | 357 | dump_DS_Alternative_list(t, type_length, alt_name_length, name_length) |
| 342 | } | 358 | } |