xref: /utopia/UTPA2-700.0.x/projects/build/mcomment.sh (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi# How to use:
2*53ee8cc1Swenshuai.xi# arg1 = Match pattern
3*53ee8cc1Swenshuai.xi# arg2 = The target path to match
4*53ee8cc1Swenshuai.xi# arg3 = Additional coment
5*53ee8cc1Swenshuai.xi
6*53ee8cc1Swenshuai.xiPATTERN=$1
7*53ee8cc1Swenshuai.xitarget_source=$2
8*53ee8cc1Swenshuai.xiGREP_PRE_PATTERN='[ ]+'
9*53ee8cc1Swenshuai.xiGREP_POST_PATTERN='[ ]*\([ &#a-zA-Z_*(),0-9\[\]]*[;]'
10*53ee8cc1Swenshuai.xiM_GREP_POST_PATTERN='[ ]*\([ &#a-zA-Z_*(),0-9\[\]]*'
11*53ee8cc1Swenshuai.xiREG=")[ ]*;"
12*53ee8cc1Swenshuai.xiREPLACE_PAT=$3
13*53ee8cc1Swenshuai.xi
14*53ee8cc1Swenshuai.xifunction single_line_fun_match()
15*53ee8cc1Swenshuai.xi{
16*53ee8cc1Swenshuai.xi#  grep -vP '^//' $target_source -n
17*53ee8cc1Swenshuai.xi  grep -P "${GREP_PRE_PATTERN}"${PATTERN}"${GREP_POST_PATTERN}" $target_source -n  |
18*53ee8cc1Swenshuai.xi           awk -F: '{print $1}' > tmp
19*53ee8cc1Swenshuai.xi
20*53ee8cc1Swenshuai.xi  while read line
21*53ee8cc1Swenshuai.xi  do
22*53ee8cc1Swenshuai.xi     sed -i  $line"s/^/\/\/$REPLACE_PAT/" $target_source
23*53ee8cc1Swenshuai.xi  done < tmp
24*53ee8cc1Swenshuai.xi}
25*53ee8cc1Swenshuai.xi
26*53ee8cc1Swenshuai.xifunction multi_line_fun_match()
27*53ee8cc1Swenshuai.xi{
28*53ee8cc1Swenshuai.xi   grep -P "${GREP_PRE_PATTERN}"${PATTERN}"${M_GREP_POST_PATTERN}" $target_source -n |
29*53ee8cc1Swenshuai.xi   grep -vP "${GREP_PRE_PATTERN}"${PATTERN}"${M_GREP_POST_PATTERN}"";"               |
30*53ee8cc1Swenshuai.xi   grep -vP '#define'|
31*53ee8cc1Swenshuai.xi   grep -vP "${GREP_PRE_PATTERN}"${PATTERN}"${M_GREP_POST_PATTERN}""\)"|
32*53ee8cc1Swenshuai.xi   awk -F: '{print $1}' > tmp
33*53ee8cc1Swenshuai.xi
34*53ee8cc1Swenshuai.xi  # echo "v02"
35*53ee8cc1Swenshuai.xi   while read line
36*53ee8cc1Swenshuai.xi   do
37*53ee8cc1Swenshuai.xi     sed -i  "${line},/)[ ]*;/s/^/\/\/$REPLACE_PAT/" $target_source
38*53ee8cc1Swenshuai.xi   done < tmp
39*53ee8cc1Swenshuai.xi}
40*53ee8cc1Swenshuai.xisingle_line_fun_match
41*53ee8cc1Swenshuai.ximulti_line_fun_match
42