~ahs3/+junk/cq-qemu

« back to all changes in this revision

Viewing changes to scripts/hxtool

  • Committer: Al Stone
  • Date: 2012-02-09 01:17:20 UTC
  • Revision ID: albert.stone@canonical.com-20120209011720-tztl7ik3qayz80p4
first commit to bzr for qemu

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
 
 
3
hxtoh()
 
4
{
 
5
    flag=1
 
6
    while read -r str; do
 
7
        case $str in
 
8
            HXCOMM*)
 
9
            ;;
 
10
            STEXI*|ETEXI*|SQMP*|EQMP*) flag=$(($flag^1))
 
11
            ;;
 
12
            *)
 
13
            test $flag -eq 1 && printf "%s\n" "$str"
 
14
            ;;
 
15
        esac
 
16
    done
 
17
}
 
18
 
 
19
hxtotexi()
 
20
{
 
21
    flag=0
 
22
    line=1
 
23
    while read -r str; do
 
24
        case "$str" in
 
25
            HXCOMM*)
 
26
            ;;
 
27
            STEXI*)
 
28
            if test $flag -eq 1 ; then
 
29
                echo "line $line: syntax error: expected ETEXI, found $str" >&2
 
30
                exit 1
 
31
            fi
 
32
            flag=1
 
33
            ;;
 
34
            ETEXI*)
 
35
            if test $flag -ne 1 ; then
 
36
                echo "line $line: syntax error: expected STEXI, found $str" >&2
 
37
                exit 1
 
38
            fi
 
39
            flag=0
 
40
            ;;
 
41
            SQMP*|EQMP*)
 
42
            if test $flag -eq 1 ; then
 
43
                echo "line $line: syntax error: expected ETEXI, found $str" >&2
 
44
                exit 1
 
45
            fi
 
46
            ;;
 
47
            DEFHEADING*)
 
48
            echo "$(expr "$str" : "DEFHEADING(\(.*\))")"
 
49
            ;;
 
50
            *)
 
51
            test $flag -eq 1 && echo "$str"
 
52
            ;;
 
53
        esac
 
54
        line=$((line+1))
 
55
    done
 
56
}
 
57
 
 
58
hxtoqmp()
 
59
{
 
60
    IFS=
 
61
    flag=0
 
62
    line=1
 
63
    while read -r str; do
 
64
        case "$str" in
 
65
            HXCOMM*)
 
66
            ;;
 
67
            SQMP*)
 
68
            if test $flag -eq 1 ; then
 
69
                echo "line $line: syntax error: expected EQMP, found $str" >&2
 
70
                exit 1
 
71
            fi
 
72
            flag=1
 
73
            ;;
 
74
            EQMP*)
 
75
            if test $flag -ne 1 ; then
 
76
                echo "line $line: syntax error: expected SQMP, found $str" >&2
 
77
                exit 1
 
78
            fi
 
79
            flag=0
 
80
            ;;
 
81
            STEXI*|ETEXI*)
 
82
            if test $flag -eq 1 ; then
 
83
                echo "line $line: syntax error: expected EQMP, found $str" >&2
 
84
                exit 1
 
85
            fi
 
86
            ;;
 
87
            *)
 
88
            test $flag -eq 1 && echo "$str"
 
89
            ;;
 
90
        esac
 
91
        line=$((line+1))
 
92
    done
 
93
}
 
94
 
 
95
case "$1" in
 
96
"-h") hxtoh ;;
 
97
"-t") hxtotexi ;;
 
98
"-q") hxtoqmp ;;
 
99
*) exit 1 ;;
 
100
esac
 
101
 
 
102
exit 0