source: mainline/uspace/dist/src/bithenge/cond.bh

Last change on this file was 1c79996, checked in by Sean Bartell <wingedtachikoma@…>, 13 years ago

Bithenge: fix issues and expand coverage for test.sh

  • Property mode set to 100644
File size: 690 bytes
Line 
1transform pascal_string = struct {
2 <- struct { # An inner struct for testing purposes
3 .len <- uint8;
4 };
5 .string <- ascii <- known_length(.len);
6};
7
8transform u32(little_endian) =
9 if (little_endian) {
10 uint32le
11 } else {
12 uint32be
13 };
14
15transform item(little_endian, len) = struct {
16 .type <- (3 * in + 1) <- u32(little_endian);
17 .name <- pascal_string;
18 switch (.type) {
19 10: {
20 .val <- u32(little_endian);
21 };
22 11: {
23 .text <- ascii <- known_length(len);
24 };
25 else: {
26 .unknown <- known_length(len);
27 };
28 }
29};
30
31transform main() = struct {
32 .first_len <- (3);
33 .second_len <- (6 - 2);
34 .first_item <- item(true, .first_len);
35 .second_item <- item(false, .second_len);
36};
Note: See TracBrowser for help on using the repository browser.