tools/lemon-0.x-to-1.x.sh
author Peter Kovacs <kpeter@inf.elte.hu>
Tue, 28 Oct 2008 18:33:51 +0100
changeset 355 956a29f30887
parent 335 94b832d461f7
child 356 236b1902e5cc
permissions -rwxr-xr-x
Improve the migration script and guide (#166)

- Safer replacement of 'graph' and 'edge'.
- Fix the erroneous renaming of [Gg]raphToEps.
- Fixes and improvements in the migration guide.
alpar@305
     1
#!/bin/bash
alpar@305
     2
alpar@305
     3
set -e
alpar@305
     4
alpar@305
     5
if [ $# -eq 0 -o x$1 = "x-h" -o x$1 = "x-help" -o x$1 = "x--help" ]; then
kpeter@335
     6
    echo "Usage:"
kpeter@335
     7
    echo "  $0 source-file(s)"
kpeter@335
     8
    exit
alpar@305
     9
fi
alpar@305
    10
kpeter@335
    11
for i in $@
kpeter@335
    12
do
kpeter@335
    13
    echo Update $i...
kpeter@335
    14
    TMP=`mktemp`
kpeter@335
    15
    sed -e "s/undirected graph/_gr_aph_label_/g"\
kpeter@335
    16
        -e "s/undirected edge/_ed_ge_label_/g"\
kpeter@335
    17
        -e "s/UGraph/_Gr_aph_label_/g"\
kpeter@355
    18
        -e "s/u[Gg]raph/_gr_aph_label_/g"\
kpeter@355
    19
        -e "s/\<Graph\>/_Digr_aph_label_/g"\
kpeter@355
    20
        -e "s/\<graph\>/_digr_aph_label_/g"\
kpeter@355
    21
        -e "s/\<Graphs\>/_Digr_aph_label_s/g"\
kpeter@355
    22
        -e "s/\<graphs\>/_digr_aph_label_s/g"\
kpeter@355
    23
        -e "s/_Graph/__Gr_aph_label_/g"\
kpeter@355
    24
        -e "s/\([Gg]\)raph\([a-z_]\)/_\1r_aph_label_\2/g"\
kpeter@355
    25
        -e "s/\([a-z_]\)graph/\1_gr_aph_label_/g"\
kpeter@335
    26
        -e "s/Graph/_Digr_aph_label_/g"\
kpeter@335
    27
        -e "s/graph/_digr_aph_label_/g"\
kpeter@335
    28
        -e "s/UEdge/_Ed_ge_label_/g"\
kpeter@355
    29
        -e "s/u[Ee]dge/_ed_ge_label_/g"\
kpeter@335
    30
        -e "s/IncEdgeIt/_In_cEd_geIt_label_/g"\
kpeter@355
    31
        -e "s/\<Edge\>/_Ar_c_label_/g"\
kpeter@355
    32
        -e "s/\<edge\>/_ar_c_label_/g"\
kpeter@355
    33
        -e "s/\<Edges\>/_Ar_c_label_s/g"\
kpeter@355
    34
        -e "s/\<edges\>/_ar_c_label_s/g"\
kpeter@355
    35
        -e "s/_Edge/__Ed_ge_label_/g"\
kpeter@355
    36
        -e "s/Edge\([a-z_]\)/_Ed_ge_label_\1/g"\
kpeter@355
    37
        -e "s/edge\([a-z_]\)/_ed_ge_label_\1/g"\
kpeter@355
    38
        -e "s/\([a-z_]\)edge/\1_ed_ge_label_/g"\
kpeter@335
    39
        -e "s/Edge/_Ar_c_label_/g"\
kpeter@335
    40
        -e "s/edge/_ar_c_label_/g"\
kpeter@355
    41
        -e "s/A[Nn]ode/_Re_d_label_/g"\
kpeter@355
    42
        -e "s/B[Nn]ode/_Blu_e_label_/g"\
kpeter@355
    43
        -e "s/A-[Nn]ode/_Re_d_label_/g"\
kpeter@355
    44
        -e "s/B-[Nn]ode/_Blu_e_label_/g"\
kpeter@355
    45
        -e "s/a[Nn]ode/_re_d_label_/g"\
kpeter@355
    46
        -e "s/b[Nn]ode/_blu_e_label_/g"\
kpeter@335
    47
        -e "s/_Digr_aph_label_/Digraph/g"\
kpeter@335
    48
        -e "s/_digr_aph_label_/digraph/g"\
kpeter@335
    49
        -e "s/_Gr_aph_label_/Graph/g"\
kpeter@335
    50
        -e "s/_gr_aph_label_/graph/g"\
kpeter@335
    51
        -e "s/_Ar_c_label_/Arc/g"\
kpeter@335
    52
        -e "s/_ar_c_label_/arc/g"\
kpeter@335
    53
        -e "s/_Ed_ge_label_/Edge/g"\
kpeter@335
    54
        -e "s/_ed_ge_label_/edge/g"\
kpeter@335
    55
        -e "s/_In_cEd_geIt_label_/IncEdgeIt/g"\
kpeter@335
    56
        -e "s/_Re_d_label_/Red/g"\
kpeter@335
    57
        -e "s/_Blu_e_label_/Blue/g"\
kpeter@335
    58
        -e "s/_re_d_label_/red/g"\
kpeter@335
    59
        -e "s/_blu_e_label_/blue/g"\
kpeter@355
    60
        -e "s/DigraphToEps/GraphToEps/g"\
kpeter@355
    61
        -e "s/digraphToEps/graphToEps/g"\
kpeter@335
    62
        -e "s/\<DefPredMap\>/SetPredMap/g"\
kpeter@335
    63
        -e "s/\<DefDistMap\>/SetDistMap/g"\
kpeter@335
    64
        -e "s/\<DefReachedMap\>/SetReachedMap/g"\
kpeter@335
    65
        -e "s/\<DefProcessedMap\>/SetProcessedMap/g"\
kpeter@335
    66
        -e "s/\<DefHeap\>/SetHeap/g"\
kpeter@335
    67
        -e "s/\<DefStandardHeap\>/SetStandradHeap/g"\
kpeter@335
    68
        -e "s/\<DefOperationTraits\>/SetOperationTraits/g"\
kpeter@335
    69
        -e "s/\<DefProcessedMapToBeDefaultMap\>/SetStandardProcessedMap/g"\
kpeter@335
    70
        -e "s/\<copyGraph\>/graphCopy/g"\
kpeter@335
    71
        -e "s/\<copyDigraph\>/digraphCopy/g"\
kpeter@335
    72
        -e "s/\<IntegerMap\>/RangeMap/g"\
kpeter@335
    73
        -e "s/\<integerMap\>/rangeMap/g"\
kpeter@335
    74
        -e "s/\<\([sS]\)tdMap\>/\1parseMap/g"\
kpeter@335
    75
        -e "s/\<\([Ff]\)unctorMap\>/\1unctorToMap/g"\
kpeter@335
    76
        -e "s/\<\([Mm]\)apFunctor\>/\1apToFunctor/g"\
kpeter@335
    77
        -e "s/\<\([Ff]\)orkWriteMap\>/\1orkMap/g"\
kpeter@335
    78
        -e "s/\<StoreBoolMap\>/LoggerBoolMap/g"\
kpeter@335
    79
        -e "s/\<storeBoolMap\>/loggerBoolMap/g"\
kpeter@335
    80
        -e "s/\<BoundingBox\>/Box/g"\
kpeter@335
    81
    <$i > $TMP
kpeter@335
    82
    mv $TMP $i
kpeter@335
    83
done