Subversion Repositories wimsdev

Rev

Rev 11566 | Rev 16209 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 11566 Rev 16107
Line 1... Line 1...
1
#! /bin/sh
1
#! /bin/sh
2
 
2
 
3
LL="env LC_COLLATE=POSIX LANG=POSIX LC_CTYPE=fr_FR.UTF-8"
3
#LL="env LC_COLLATE=POSIX LANG=POSIX LC_CTYPE=fr_FR.UTF-8"
4
LL="env LC_ALL=C LC_CTYPE=C LANG=C"
4
LL="env LC_ALL=C LC_CTYPE=C LANG=C"
5
thisdir=`pwd`
5
thisdir=`pwd`
6
lastdir=$thisdir
6
lastdir=$thisdir
-
 
7
 
7
if [ -z "$wims_home" ]; then wims_home=$w_wims_home; fi
8
if [ -z "$wims_home" ]; then wims_home=$w_wims_home; fi
8
 
9
 
9
while [ -z "$wims_home" ] && [ "$lastdir" != "/" ]
10
while [ -z "$wims_home" ] && [ "$lastdir" != "/" ]
10
do
11
do
11
 wims_home=`cat $lastdir/.wimshome 2>/dev/null`
12
  wims_home=`cat $lastdir/.wimshome 2>/dev/null`
12
 lastdir=`dirname $lastdir`
13
  lastdir=`dirname $lastdir`
13
done
14
done
14
if [ -z "$wims_home" ]; then
15
if [ -z "$wims_home" ]; then
15
 echo WIMS home directory not found.
16
  echo WIMS home directory not found.
16
 exit;
17
  exit;
17
fi
18
fi
18
proc=$wims_home/public_html/scripts/deduc
19
proc=$wims_home/public_html/scripts/deduc
19
 
20
 
20
if [ ! -d def ]; then exit; fi
21
if [ ! -d def ]; then exit; fi
21
if [ ! -d src ]; then exit; fi
22
if [ ! -d src ]; then exit; fi
22
 
23
 
23
deff=`cd def; ls *.def 2>/dev/null`
24
deff=`cd def; ls *.def 2>/dev/null`
24
for i in $deff
25
for i in $deff
25
do
26
do
26
 dd=`echo $i | sed 's!\.def!.ded!g'`
27
  dd=`echo $i | sed 's!\.def!.ded!g'`
27
 if [ ! -f src/$dd ]; then
28
  if [ ! -f src/$dd ]; then
28
  echo Removing def/$i.
29
    echo Removing def/$i.
29
  rm -f def/$i >/dev/null;
30
    rm -f def/$i >/dev/null;
30
 fi
31
  fi
31
done
32
done
32
 
33
 
33
sext=ded
34
sext=ded
34
cd src
35
cd src
35
if [ -d cpp ]; then
36
if [ -d cpp ]; then
36
 cd cpp
37
  cd cpp
37
 incf=`ls *.inc 2>/dev/null`
38
  incf=`ls *.inc 2>/dev/null`
38
 for i in $incf
39
  for i in $incf
39
 do
-
 
40
  list=`egrep -l '#[[:blank:]]*include[[:blank:]]+"'$i'"' *.cpp`
-
 
41
  for j in $list
-
 
42
  do
40
  do
-
 
41
    list=`egrep -a -l '#[[:blank:]]*include[[:blank:]]+"'$i'"' *.inc 2>/dev/null`
-
 
42
    for j in $list
-
 
43
    do
43
   if [ $i -nt $j ]; then touch $j; fi
44
      if [ $i -nt $j ]; then touch $j; fi
-
 
45
    done
-
 
46
  done
-
 
47
  for i in $incf
-
 
48
  do
-
 
49
    list=`egrep -a -l '#[[:blank:]]*include[[:blank:]]+"'$i'"' *.cpp 2>/dev/null`
-
 
50
    for j in $list
-
 
51
    do
-
 
52
      if [ $i -nt $j ]; then touch $j; fi
-
 
53
    done
44
  done
54
  done
45
 done
-
 
46
 pref=`ls *.cpp 2>/dev/null`
55
  pref=`ls *.cpp 2>/dev/null`
47
 for i in $pref
56
  for i in $pref
48
 do
-
 
49
  list=`$LL grep . $i | head -1 | grep target \
-
 
50
	| tr ',:;./?*#~$\\ ' '                  ' \
-
 
51
	| awk -F'=' '{print $2}'`
-
 
52
  test=`grep -E '^[[:blank:]]*#[[:blank:]]*include' $i \
-
 
53
	| grep -E -v '^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*"[[:alnum:]_]+.inc"'`
-
 
54
  if [ ! -z "$test" ]; then
-
 
55
   echo $i: include violation.
-
 
56
   list=
-
 
57
  fi
-
 
58
  grep . $i | awk 'BEGIN {l=0}; {l++}; l>1 {print}' >cpp.tmp
-
 
59
  for j in $list
-
 
60
  do
57
  do
-
 
58
    list=`$LL grep . $i | head -1 | grep target \
-
 
59
 	  | tr ',:;./?*#~$\\ ' '                  ' \
-
 
60
 	  | awk -F'=' '{print $2}'`
-
 
61
    test=`grep -E '^[[:blank:]]*#[[:blank:]]*include' $i \
-
 
62
 	  | grep -E -v '^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*"[[:alnum:]_]+.inc"'`
-
 
63
    if [ ! -z "$test" ]; then
-
 
64
      echo $i: include violation. $test
-
 
65
      list=
-
 
66
    fi
-
 
67
    grep . $i | awk 'BEGIN {l=0}; {l++}; l>1 {print}' >cpp.tmp
-
 
68
    for j in $list
-
 
69
    do
61
   if [ ! -f ../$j.$sext ] || [ $i -nt ../$j.$sext ]; then
70
      if [ ! -f ../$j.$sext ] || [ $i -nt ../$j.$sext ]; then
62
    echo "Preprocessing: $i -> ../$j.$sext"
71
        echo "Preprocessing: $i -> ../$j.$sext"
63
    cat <<@ >../$j.$sext
72
        cat <<@ >../$j.$sext
64
%% This file is generated by preprocessor!
73
%% This file is generated by preprocessor!
65
%% Do not edit it by hand.
74
%% Do not edit it by hand.
66
%% Edit the source file cpp/$i.
75
%% Edit the source file cpp/$i.
67
 
76
 
68
@
77
@
69
    cpp -P -C -nostdinc -A- -D TARGET_$j -A "TARGET($j)" cpp.tmp >>../$j.$sext
78
        cpp -P -C -nostdinc -A- -DTARGET_$j -A"TARGET($j)" cpp.tmp >>../$j.$sext
70
   fi
79
      fi
-
 
80
    done
-
 
81
    rm -f cpp.tmp
71
  done
82
  done
72
  rm -f cpp.tmp
-
 
73
 done
-
 
74
 cd ..
83
  cd ..
75
fi
84
fi
76
 
85
 
77
srcf=`ls *.ded 2>/dev/null`
86
srcf=`ls *.ded 2>/dev/null`
78
cd ..
87
cd ..
79
oef2wims_mdef="methods variables context environ equivalence startname goal newobject minsteps options"
88
oef2wims_mdef="methods variables context environ equivalence startname goal newobject minsteps options"
80
export oef2wims_mdef
89
export oef2wims_mdef
81
for i in $srcf
90
for i in $srcf
82
do
91
do
83
 dd=`echo $i | sed 's!\.ded!.def!g'`
92
  dd=`echo $i | sed 's!\.ded!.def!g'`
84
 if [ ! -f def/$dd ] || [ src/$i -nt def/$dd ]; then
93
  if [ ! -f def/$dd ] || [ src/$i -nt def/$dd ]; then
85
  # echo $dd
94
    # echo $dd
86
  rm -f def/$dd 2>/dev/null
95
    rm -f def/$dd 2>/dev/null
87
  $wims_home/bin/oef2wims src/$i def/$dd
96
    $wims_home/bin/oef2wims src/$i def/$dd
88
 fi
97
  fi
89
done
98
done
90
 
99
 
91
rm -f Exindex Extitles >/dev/null
100
rm -f Exindex Extitles >/dev/null
92
list=`cd def; ls *.def 2>/dev/null | sed 's/\.def//g'`
101
list=`cd def; ls *.def 2>/dev/null | sed 's/\.def//g'`
93
 
102
 
94
if [ -z "$list" ]; then exit; fi
103
if [ -z "$list" ]; then exit; fi
95
titlist=
104
titlist=
96
for i in $list
105
for i in $list
97
do
106
do
98
 tit=`awk -F= 'NF>=2 {print $2; exit}' def/$i.def | $LL tr ',\11' '; '`
107
  tit=`awk -F= 'NF>=2 {print $2; exit}' def/$i.def | $LL tr ',\11' '; '`
99
 echo "$i:$tit" >>Extitles
108
  echo "$i:$tit" >>Extitles
100
 titlist="$titlist$tit
109
  titlist="$titlist$tit
101
"
110
"
102
done
111
done
103
$wims_home/bin/dicsort Extitles
112
$wims_home/bin/dicsort Extitles
104
if [ -s Extitles.sorted ]; then
113
if [ -s Extitles.sorted ]; then
105
 mv Extitles.sorted Extitles
114
 mv Extitles.sorted Extitles
Line 108... Line 117...
108
echo "$titlist" >tmp1
117
echo "$titlist" >tmp1
109
echo "$list" >tmp2
118
echo "$list" >tmp2
110
llist=`$LL paste tmp1 tmp2 | $LL sort -t '	' -f -k 1,1`
119
llist=`$LL paste tmp1 tmp2 | $LL sort -t '	' -f -k 1,1`
111
list=`echo "$llist" | awk -F'\11' 'length()>2 {print $2}' |$LL tr '\n' ','`
120
list=`echo "$llist" | awk -F'\11' 'length()>2 {print $2}' |$LL tr '\n' ','`
112
titlist=`echo "$llist" | awk -F'\11' 'length()>2 {print $1}' | $LL tr '\n' ','`
121
titlist=`echo "$llist" | awk -F'\11' 'length()>2 {print $1}' | $LL tr '\n' ','`
113
 
122
 
-
 
123
rm -f tmp1 tmp2
114
cat >Exindex <<@
124
cat >Exindex <<@
115
!set exolist  =!char 1 to -2 of $list
125
!set exolist  =!char 1 to -2 of $list
116
!set titlelist=!char 1 to -2 of $titlist
126
!set titlelist=!char 1 to -2 of $titlist
117
!set exototal =!itemcnt \$exolist
127
!set exototal =!itemcnt \$exolist
118
 
128
 
119
@
129
@
120
 
-
 
121
rm -f tmp1 tmp2
-
 
122
 
130