Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- start="#!/bin/sh"
- echo "Wprowadz nazwe pliku do przekonwertowania "
- read nazwa
- echo "Konwertowanie pliku $nazwa do pliku $nazwa.sh"
- while read linia
- do
- {
- if [ ! "$linia" ]
- then
- continue
- else
- if echo "$linia" | grep -qe "#include"
- then
- echo $start >$nazwa.sh
- continue
- elif echo "$linia" | grep -qe "}else{"
- then
- temp=$( echo "$linia" | sed -e 's/}else{/else/' )
- elif echo "$linia" | grep -wq "else"
- then
- temp=$( echo "$linia" | sed -e 's/else/else/' )
- elif echo "$linia" | grep -wq "elseif"
- then
- temp=$( echo "$linia" | sed -e 's/elseif/elif/' -e 's/(/\[/' -e 's/)/\]\nthen/' )
- elif echo "$linia" | grep -wq "else if"
- then
- temp=$( echo "$linia" | sed -e 's/else if/elif/' -e 's/(/\[/' -e 's/)/\]\nthen/' )
- elif echo "$linia" | grep -wq "for"
- then
- temp=$( echo "Polecenie for w takiej formie mozna wykonac dopiero w bashu" )
- elif echo "$linia" | grep -wq "if"
- then
- temp=$( echo "$linia" | sed -e 's/(/\[/' -e 's/)/\] \n then/')
- elif echo "$linia" | grep -wq "switch"
- then
- temp=$( echo "$linia" | sed -e 's/switch (/case/' -e 's/){/in/' )
- elif echo "$linia" | grep -wq "printf"
- then
- temp=$( echo "$linia" | sed -e 's/printf/echo /' -e 's/(//' -e 's/)//' -e 's/;//' )
- elif echo "$linia" | grep -wq "scanf"
- then
- temp=$( echo "$linia " | sed -e 's/scanf/read /' -e 's/"//' )
- elif echo "$linia" | grep -q '\*'
- then
- temp=$( echo "$linia " | sed -e 's/\/\*/#/g' -e 's/\*\///g')
- elif echo "$linia" | grep -wq "while"
- then
- temp=$( echo "$linia" | sed -e 's/)/\)\ndo/' )
- elif echo "$linia" | grep -qe "\=\="
- then
- temp=$( echo "$linia" | sed -e 's/==/\-eq/' )
- elif echo "$linia" | grep -wq "default"
- then
- temp=$( echo "$linia" | sed -e 's/default/\*/' -e 's/:/\)/' )
- elif echo "$linia" | grep -wq "return"
- then
- continue
- elif echo "$linia" | grep -wq "main"
- then
- continue
- elif echo "$linia" | grep -qe "\/\/"
- then
- temp=$( echo "$linia" | sed -e 's/\/\//\#/' )
- elif echo "$linia" | grep -qe "\<"
- then
- temp=$( echo "$linia" | sed -e 's/</\-lt/' )
- linia="$temp"
- elif echo "$linia" | grep -qe "\<\="
- then
- temp=$( echo "$linia" | sed -e 's/\<\=/\-le/' )
- elif echo "$linia" | grep -qe "\>\="
- then
- temp=$( echo "$linia" | sed -e 's/>=/\-ge/' )
- elif echo "$linia" | grep -qe "\;"
- then
- temp=$( echo "$linia" | sed -e 's/;//' )
- elif echo "$linia" | grep -qe "\{"
- then
- continue
- elif echo "$linia" | grep -qe "\}"
- then
- continue
- elif echo "$linia" | grep -qe "\} \>"
- then
- temp=$( echo "$linia" | sed -e 's/} >/done \>/' )
- elif echo "$linia" | grep -wq "case"
- then
- temp=$( echo "$linia" | sed -e 's/case//' -e 's/:/\)/' )
- elif echo "$linia" | grep -qe "\>"
- then
- temp=$( echo "$linia" | sed -e 's/>/\-gt/' )
- elif echo "$linia" | grep -q "\!\="
- then
- temp=$( echo "$linia" | sed -e 's/!=/\-ne/' )
- elif echo "$linia" | grep -wq "break"
- then
- temp=$( echo "$linia" | sed -e 's/break/\;\;/' )
- else
- temp=$( echo "Ta linia nie moze zostac przetlumaczona $linia" )
- fi
- fi
- echo "$temp" >> $nazwa.sh
- }
- done < $nazwa
- echo "Podaj prawa dostepu dla pliku(numerycznie) $nazwa.sh:"
- read dostep
- chmod $dostep $nazwa.sh
- echo "Przetlumaczony plik:"
- cat $nazwa.sh
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement