1. Куча / Говнокод #10002

    +100

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    procedure interpretation;
    var
    s,f:string;
    i,m,v:integer;
    
    begin
    s:=#0;
    
    for I:=0 to form9.Memo2.Lines.Count-1 do begin
      s:=form9.Memo2.Lines.Strings[i];//ïðîñìîòð ñòðîê èäåò
      //ñâåðõó âíèç
    
      if s='hex' then hex;
      if s='acsii' then acsii;
    
      if (s[1]='a') and (s[2]='d') and (s[3]='d') then begin
      form9.Edit6.Text:=s[5];
      form9.Edit5.Text:=s[7];
      peredsim;
      end;
    
      if (s[1]='s') and (s[2]='a') and (s[3]='m') then begin
      form9.Edit2.Text:=s[5];
      form9.Edit4.Text:=s[7];
      samsimbyl;
      end;
    
      if (s[1]='d') and (s[2]='e') and (s[3]='l') then begin
      form9.Edit3.Text:=s[5];
      for v:=1 to length(s) do
      deletesimbyl;
      end;
    
      if (s[1]='d') and (s[2]='e') and (s[3]='l') and (s[4]='s') then begin
      form9.Edit3.Text:=s[6];
      dels;
      end;
    
      if (s[1]='i') and (s[2]='n') and (s[3]='f') then begin
      form9.Memo1.Text:=s[5]+form9.Memo1.Text;
      end;
    
      if (s[1]='f') and (s[2]='n') and (s[3]='i') then begin
      form9.Memo1.Text:=form9.Memo1.Text+s[5];
      end;
    
      if (s[1]='p') and (s[2]='h') and (s[3]='e') then RapsrRedel;
    
    
      if (s[1]='n') and (s[2]='a') and (s[3]='b') then PerstNO;
    
    
      if (s[1]='a') and (s[2]='t') and (s[3]='s') then acsiitosim;
      if (s[1]='h') and (s[2]='t') and (s[3]='s') then hextosim;
      if (s[1]='h') and (s[2]='t') and (s[3]='a') then hextoacsii;
      if (s[1]='a') and (s[2]='t') and (s[3]='h') then acsiitohex;
    end;
    end;

    Нужно было быстро накодить интерпретатор, которым никто пользоваться не будет, кроме собственно автора программы, для создания простеньких скриптов (сами понимаете семантический анализатор писать, в данном случае не улыбалось). Потому получился такой МегОАдЪовый говнокод!

    Запостил: Kerny, 21 Апреля 2012

    Комментарии (1) RSS

    • Парсер не так ужасен, как названия формы и компонентов на ней :)
      Ответить

    Добавить комментарий