Advertisement
Guest User

Untitled

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