Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. HDR01='#!/bin/sh'
  4.  
  5. write_headers ()
  6. {
  7. echo "$HDR01"
  8. }
  9.  
  10. clear
  11. echo "Podaj nazwe pliku do przetlumaczenia"
  12. read plik
  13.  
  14. echo "Tlumaczenie pliku $plik do pliku $plik.sh"
  15. while read linia
  16. do
  17. {
  18. if [ ! "$linia" ]
  19. then
  20. continue
  21. else
  22. if echo "$linia" | grep -qe "#include"
  23. then
  24. write_headers >$plik.sh
  25. continue
  26. elif echo "$linia" | grep -qe "\#include"
  27. then
  28. continue
  29. elif echo "$linia" | grep -wq "return"
  30. then
  31. continue
  32. elif echo "$linia" | grep -wq "main"
  33. then
  34. continue
  35. elif echo "$linia" | grep -qe "\/\/"
  36. then
  37. temp=$( echo "$linia" | sed -e 's/\/\//\#/' )
  38. linia="$temp"
  39.  
  40. elif echo "$linia" | grep -qe "}else{"
  41. then
  42. temp=$( echo "$linia" | sed -e 's/}else{/else/' )
  43. linia="$temp"
  44.  
  45. elif echo "$linia" | grep -wq "else"
  46. then
  47. temp=$( echo "$linia" | sed -e 's/else/else/' )
  48. linia="$temp"
  49.  
  50. elif echo "$linia" | grep -wq "elseif"
  51. then
  52. temp=$( echo "$linia" | sed -e 's/elseif/elif/' -e 's/(/\[/' -e 's/)/\]\nthen/' )
  53. linia="$temp"
  54.  
  55. elif echo "$linia" | grep -wq "else if"
  56. then
  57. temp=$( echo "$linia" | sed -e 's/else if/elif/' -e 's/(/\[/' -e 's/)/\]\nthen/' )
  58. linia="$temp"
  59.  
  60. elif echo "$linia" | grep -wq "if"
  61. then
  62. temp=$( echo "$linia" | sed -e 's/(/\[/' -e 's/)/\] \n then/')
  63. linia="$temp"
  64.  
  65. elif echo "$linia" | grep -wq "switch"
  66. then
  67. temp=$( echo "$linia" | sed -e 's/switch (/case/' -e 's/){/in/' )
  68. linia="$temp"
  69.  
  70. elif echo "$linia" | grep -wq "printf"
  71. then
  72. temp=$( echo "$linia" | sed -e 's/printf "/echo \"/' )
  73. linia="$temp"
  74.  
  75. elif echo "$linia" | grep -wq "scanf"
  76. then
  77. temp=$( echo "$linia " | sed -e 's/scanf/read /' -e 's/"//' )
  78. linia="$temp"
  79.  
  80. elif echo "$linia" | grep -wq "default"
  81. then
  82. temp=$( echo "$linia" | sed -e 's/default/\*/' -e 's/:/\)/' )
  83. linia="$temp"
  84.  
  85. elif echo "$linia" | grep -wq "while"
  86. then
  87. temp=$( echo "$linia" | sed -e 's/)/\)\ndo/' )
  88. linia="$temp"
  89.  
  90. elif echo "$linia" | grep -qe "\=\="
  91. then
  92. temp=$( echo "$linia" | sed -e 's/==/\-eq/' )
  93. linia="$temp"
  94.  
  95. elif echo "$linia" | grep -qe "\<"
  96. then
  97. temp=$( echo "$linia" | sed -e 's/</\-lt/' )
  98. linia="$temp"
  99.  
  100. elif echo "$linia" | grep -qe "\<\="
  101. then
  102. temp=$( echo "$linia" | sed -e 's/\<\=/\-le/' )
  103. linia="$temp"
  104.  
  105. elif echo "$linia" | grep -qe "\>\="
  106. then
  107. temp=$( echo "$linia" | sed -e 's/>=/\-ge/' )
  108. linia="$temp"
  109.  
  110. elif echo "$linia" | grep -qe "\;"
  111. then
  112. temp=$( echo "$linia" | sed -e 's/;//' )
  113. linia="$temp"
  114.  
  115. elif echo "$linia" | grep -qe "\>"
  116. then
  117. temp=$( echo "$linia" | sed -e 's/>/\-gt/' )
  118. linia="$temp"
  119.  
  120. elif echo "$linia" | grep -q "\!\="
  121. then
  122. temp=$( echo "$linia" | sed -e 's/!=/\-ne/' )
  123. linia="$temp"
  124.  
  125. elif echo "$linia" | grep -qe "\} \>"
  126. then
  127. temp=$( echo "$linia" | sed -e 's/} >/done \>/' )
  128. linia="$temp"
  129.  
  130. elif echo "$linia" | grep -wq "case"
  131. then
  132. temp=$( echo "$linia" | sed -e 's/case//' -e 's/:/\)/' )
  133. linia="$temp"
  134.  
  135. elif echo "$linia" | grep -wq "break"
  136. then
  137. temp=$( echo "$linia" | sed -e 's/break/\;\;/' )
  138. linia="$temp"
  139. elif echo "$linia" | grep -qe "\{"
  140. then
  141. continue
  142. elif echo "$linia" | grep -qe "\}"
  143. then
  144. continue
  145. else
  146. temp=$( echo "Linia: $linia nie może być przetlumaczona" )
  147. linia="$temp"
  148. fi
  149. fi
  150.  
  151. echo "$temp" >> $plik.sh
  152. }
  153. done < $plik
  154.  
  155.  
  156. echo "podaj prawa dostępu w postaci numerycznej jakie chcesz ustawic dla pliku $plik.sh:"
  157. read prawa
  158. chmod $prawa $plik.sh
  159. echo "Przetlumaczony plik:"
  160. cat $plik.sh
  161. exit $?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement