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

    +123

    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
    Type win32gui
    Create object window
    Set window title = "Window"
    Set width window = 299
    Set height window = 279
    S1 = "y"
    S2 = "="
    S3 = "x^3+1"
    Obj = "Graph"
    Create object obj
    Set obj graph = "y=x^3+1"
    Display obj
    Rewrite obj

    Название языка ещё не придумал :P

    Данный пример построит график y=x^3+1.
    Картинка тут - http://coun.at.ua/_sf/1/116_Screenshot1.png

    Запостил: Mobac, 19 Апреля 2014

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

    • А зачем тогда:
      S1 = "y"
      S2 = "="
      S3 = "x^3+1"?
      Опечатался, автор XD
      Ответить
    • > Set window title = "Window"
      > Set width window = 299
      > Set height window = 279
      Как-то нелогично... Может быть так?
      Set window title = "Window"
      Set window width = 299
      Set window height = 279
      Ответить
      • Это гибрид васика и пыхи. От пыхи - нецелостность интерфейсов.
        Ответить
    • Формальное описание грамматики языка выложи.
      Ответить
    • cleaned
      Ответить
    • > Название языка ещё не придумал
      А говнокод на нем уже есть :)

      Язык идет к успеху...
      Ответить
    • >Type win32gui
      ненужно

      >Create object window
      >Set window title = "Window"
      >Set width window = 299
      >Set height window = 279
      зачем все это нужно, если потом оно не используется
      и я вижу нетипизированное говно
      Ответить
    • Ваш язык для построения математических функций? ОК, вот как это делается на R:
      x <- seq(-10, 10)
      plot(x, x ** 3 + 1)
      Ответить
    • Напомнило мой супер форт для .net.: https://oshell.codeplex.com/

      А вот мой супер калькулятор на нем:

      "winforms.osh" use
      "drawing.osh" use
      
      # components
      "Form" var
      
      "b+" var
      "b-" var
      "b/" var
      "b*" var
      "bc" var
      "b=" var
      
      "b0" var
      "b1" var
      "b2" var
      "b3" var
      "b4" var
      "b5" var
      "b6" var
      "b7" var
      "b8" var
      "b9" var
      
      "Display" var
      
      # internal logic
      "Quit" var
      "CurVal" var
      "LastVal" var
      "Op" var
      
      # initializaring components
      
      # form
      
      CForm >> [] ~~ Form <<
      "Calculator" Form >> "Text" <-
      CSize >> [] 154 , 160 , ~~ Form >> "ClientSize" <-
      5 Form >> "FormBorderStyle" <-
      
      # digit buttons
      
      CButton >> [] ~~ b0 <<
      CPoint >> [] 12 , 128 , ~~ b0 >> "Location" <-
      CSize >> [] 28 , 23 , ~~ b0 >> "Size" <-
      "0"  b0 >> "Text" <-
      
      CButton >> [] ~~ b1 <<
      CPoint >> [] 12 , 99 , ~~ b1 >> "Location" <-
      CSize >> [] 28 , 23 , ~~ b1 >> "Size" <-
      "1"  b1 >> "Text" <-
      
      CButton >> [] ~~ b2 <<
      CPoint >> [] 46 , 99 , ~~ b2 >> "Location" <-
      CSize >> [] 28 , 23 , ~~ b2 >> "Size" <-
      "2"  b2 >> "Text" <-
      
      CButton >> [] ~~ b3 <<
      CPoint >> [] 80 , 99 ,  ~~ b3 >> "Location" <-
      CSize >> [] 28 , 23 , ~~ b3 >> "Size" <-
      "3"  b3 >> "Text" <-
      
      CButton >> [] ~~ b4 <<
      CPoint >> [] 12 , 70 , ~~ b4 >> "Location" <-
      CSize >> [] 28 , 23 , ~~ b4 >> "Size" <-
      "4"  b4 >> "Text" <-
      ...
      
      "BCPressed" : 0 0 LastVal >> CurVal >> 0 _Op ;
      bc >> "Click" "BCPressed" ==> 2 dynvoid +hndl
      
      "BeqPressed" :
      	drop drop
      	
      	Op >> switch
      		case 1 :: LastVal >> CurVal >> + CurVal << ;;
      		case 2 :: LastVal >> CurVal >> - CurVal << ;;
      		case 3 :: LastVal >> CurVal >> * CurVal << ;;
      		case 4 :: LastVal >> CurVal >> / CurVal << ;;
      		case 0 :: ;;
      	endsw
      	
      	Upd
      ;
      
      b= >> "Click" "BeqPressed" ==> 2 dynvoid +hndl
      
      
      Form >> "Show" [] !!
      
      "Main" :
      	false Quit <<
      	0 Op <<
      	
      	do 
      		Application >> "DoEvents" [] ~! 
      	Quit >> ! while
      ;
      
      Main
      Ответить

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