Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- HDR01='#!/bin/sh'
- write_headers ()
- {
- echo "$HDR01"
- }
- clear
- echo "Podaj nazwe pliku do przetlumaczenia"
- read plik
- echo "Tlumaczenie pliku $plik do pliku $plik.sh"
- while read linia
- do
- {
- if [ ! "$linia" ]
- then
- continue
- else
- if echo "$linia" | grep -qe "#include"
- then
- write_headers >$plik.sh
- continue
- elif echo "$linia" | grep -qe "\#include"
- then
- continue
- 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/\/\//\#/' )
- linia="$temp"
- elif echo "$linia" | grep -qe "}else{"
- then
- temp=$( echo "$linia" | sed -e 's/}else{/else/' )
- linia="$temp"
- elif echo "$linia" | grep -wq "else"
- then
- temp=$( echo "$linia" | sed -e 's/else/else/' )
- linia="$temp"
- elif echo "$linia" | grep -wq "elseif"
- then
- temp=$( echo "$linia" | sed -e 's/elseif/elif/' -e 's/(/\[/' -e 's/)/\]\nthen/' )
- linia="$temp"
- elif echo "$linia" | grep -wq "else if"
- then
- temp=$( echo "$linia" | sed -e 's/else if/elif/' -e 's/(/\[/' -e 's/)/\]\nthen/' )
- linia="$temp"
- elif echo "$linia" | grep -wq "if"
- then
- temp=$( echo "$linia" | sed -e 's/(/\[/' -e 's/)/\] \n then/')
- linia="$temp"
- elif echo "$linia" | grep -wq "switch"
- then
- temp=$( echo "$linia" | sed -e 's/switch (/case/' -e 's/){/in/' )
- linia="$temp"
- elif echo "$linia" | grep -wq "printf"
- then
- temp=$( echo "$linia" | sed -e 's/printf "/echo \"/' )
- linia="$temp"
- elif echo "$linia" | grep -wq "scanf"
- then
- temp=$( echo "$linia " | sed -e 's/scanf/read /' -e 's/"//' )
- linia="$temp"
- elif echo "$linia" | grep -wq "default"
- then
- temp=$( echo "$linia" | sed -e 's/default/\*/' -e 's/:/\)/' )
- linia="$temp"
- elif echo "$linia" | grep -wq "while"
- then
- temp=$( echo "$linia" | sed -e 's/)/\)\ndo/' )
- linia="$temp"
- elif echo "$linia" | grep -qe "\=\="
- then
- temp=$( echo "$linia" | sed -e 's/==/\-eq/' )
- linia="$temp"
- 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/' )
- linia="$temp"
- elif echo "$linia" | grep -qe "\>\="
- then
- temp=$( echo "$linia" | sed -e 's/>=/\-ge/' )
- linia="$temp"
- elif echo "$linia" | grep -qe "\;"
- then
- temp=$( echo "$linia" | sed -e 's/;//' )
- linia="$temp"
- elif echo "$linia" | grep -qe "\>"
- then
- temp=$( echo "$linia" | sed -e 's/>/\-gt/' )
- linia="$temp"
- elif echo "$linia" | grep -q "\!\="
- then
- temp=$( echo "$linia" | sed -e 's/!=/\-ne/' )
- linia="$temp"
- elif echo "$linia" | grep -qe "\} \>"
- then
- temp=$( echo "$linia" | sed -e 's/} >/done \>/' )
- linia="$temp"
- elif echo "$linia" | grep -wq "case"
- then
- temp=$( echo "$linia" | sed -e 's/case//' -e 's/:/\)/' )
- linia="$temp"
- elif echo "$linia" | grep -wq "break"
- then
- temp=$( echo "$linia" | sed -e 's/break/\;\;/' )
- linia="$temp"
- elif echo "$linia" | grep -qe "\{"
- then
- continue
- elif echo "$linia" | grep -qe "\}"
- then
- continue
- else
- temp=$( echo "Linia: $linia nie może być przetlumaczona" )
- linia="$temp"
- fi
- fi
- echo "$temp" >> $plik.sh
- }
- done < $plik
- echo "podaj prawa dostępu w postaci numerycznej jakie chcesz ustawic dla pliku $plik.sh:"
- read prawa
- chmod $prawa $plik.sh
- echo "Przetlumaczony plik:"
- cat $plik.sh
- exit $?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement