Esoterische Programmiersprachen



  • Habt Ihr euch mal damit beschäftigt? So Sprachen wie Brainfuck oder Ook (Brainfuck for Orang Utans)? Vor allem bei Ook musste ich laut lachen als ich mir einen Raum mit Programmierern vorstellte, die sich gegenseitig den Source-Code vorlesen... wahaha 🤡 😮
    Aber angetan hat es mir SPL: Shakespear Programming Language:
    http://shakespearelang.sourceforge.net/

    Was denkt Ihr so darüber?
    Schonmal aus Fun ein Programm mit so einer Sprache entwickelt? 😃
    rya.



  • sinnloser thread...



  • In Brainfuck habe ich mal für einen Wettbewerb, wo die Programmiersprache freigestellt war, ein Programm geschrieben. Es fing nämlich so an, daß für jede Sprache einzeln der erste Platz einen Preis bekommt. Bei Brainfuck haben sie dann aber eine Ausnahme gemacht und mich geschnitten. 🙄
    Ich hab sie sogar noch, gregor.bf:

    PUSH64                 >++++[->++++<]>[-<++++>]<
    E                      +++++.
    PUSH32                 >++[->++++<]>[-<++++>]<
    ADD                    [-<+>]<
    i                      ++++.
    n                      +++++.
    g                      -------.
    a                      ------.
    b                      +.
    e                      +++.
    PUSH32                 >++[->++++<]>[-<++++>]<
    space                  .[-]<
    i                      ++++.
    m                      ++++.
    PUSH32                 >++[->++++<]>[-<++++>]<
    space                  .[-]<
    PUSH32                 >++[->++++<]>[-<++++>]<
    SUB                    [-<->]<
    F                      -------.
    PUSH32                 >++[->++++<]>[-<++++>]<
    ADD                    [-<+>]<
    o                      +++++++++.
    r                      +++.
    m                      -----.
    a                      ------------.
    t                      +++++++++++++++++++.
    PUSH32                 >++[->++++<]>[-<++++>]<
    space                  .[-]<
    POP                    [-]<
    PUSH48                 >+++[->++++<]>[-<++++>]<
    0                      .
    5                      +++++.
    0                      -----.
    8                      ++++++++.
    1                      -------.
    9                      ++++++++.
    7                      --.
    6                      -.
    :                      ++++.
    PUSH32                 >++[->++++<]>[-<++++>]<
    space                  .[-]<
    
    PUSH0 ungueltig          >
    PUSH0 tage               >
    
    READDOUBLEDIGIT        >,>+++[->++++<]>[-<++++>]<[-<->]<[->++<]>[-<+++++>],>+++[->++++<]>[-<++++>]<[-<->]<[-<+>]<
    READDOUBLEDIGIT        >,>+++[->++++<]>[-<++++>]<[-<->]<[->++<]>[-<+++++>],>+++[->++++<]>[-<++++>]<[-<->]<[-<+>]<
    READDOUBLEDIGIT        >,>+++[->++++<]>[-<++++>]<[-<->]<[->++<]>[-<+++++>],>+++[->++++<]>[-<++++>]<[-<->]<[-<+>]<
    READDOUBLEDIGIT        >,>+++[->++++<]>[-<++++>]<[-<->]<[->++<]>[-<+++++>],>+++[->++++<]>[-<++++>]<[-<->]<[-<+>]<
    
    ////////////////////////////////////////////////////////////////////////////////
    //eigabe testen
    
    //schaltjahr=0
    PUSH0 schaltjahr       >
    //layout: ungueltig=0 tage tag monat jhd jahr schaltjahr
    
    //if not jahr%0 schaltjahr=1
    DUP1 jahr2             <[->>+>+<<<]>>>[-<<<+>>>]<
    PUSH4                  >++++
    MOD                    [->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-<+>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>>[-<<->>]<[-]<-[-<+>]<
    NOT                    >+<[[-]>-<]>[-<+>]<
    ADD                    [-<+>]<
    
    //if not jahr schaltjahr=0
    DUP1 jahr2             <[->>+>+<<<]>>>[-<<<+>>>]<
    NOT                    >+<[[-]>-<]>[-<+>]<
    SUB                    [-<->]<
    
    //calc jhd%4!=0
    DUP2 jhd               <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
    PUSH4                  >++++
    MOD                    [->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-<+>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>>[-<<->>]<[-]<-[-<+>]<
    
    //calc jahr!=0
    DUP2 jahr              <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
    
    //calc jahr!=0 or jhd%4!=0
    ADD                    [-<+>]<
    
    //calc jahr==0 and jhd%4==0
    NOT                    >+<[[-]>-<]>[-<+>]<
    
    //if jahr==0 and jhd%4==0 then schaltjahr=1
    ADD                    [-<+>]<
    
    //if jahr==0 and jhd==0 then ungueltig=1
    DUP2 jhd               <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
    DUP2 jahr              <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
    ADD                    [-<+>]<
    NOT                    >+<[[-]>-<]>[-<+>]<
    add to ungueltig       [-<<<<<<<+>>>>>>>]<
    
    PUSH0 monatstage       >
    //layout: ungueltig=0 tage tag monat jhd jahr schaltjahr monatstage
    DUP4 monat2            <<<<[->>>>>+>+<<<<<<]>>>>>>[-<<<<<<+>>>>>>]<
    
    //januar
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     monatstage=31          ++++[-<<++++++++>>]<<->>
    ENDIF                  ]
    POP0                   <
    
    //februar
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     SUB monatstage 3       <<--->>
     DUP3 schaltjahr        <<<[->>>>+>+<<<<<]>>>>>[-<<<<<+>>>>>]<
     add schaltjahr to mt   [-<<<+>>>]
     POP0                   <
    ENDIF                  ]
    POP0                   <
    
    //maerz
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     ADD monatstage 3       <<+++>>
     DUP3 schaltjahr        <<<[->>>>+>+<<<<<]>>>>>[-<<<<<+>>>>>]<
     sub schaltjahr from mt [-<<<->>>]
     POP0                   <
    ENDIF                  ]
    POP0                   <
    
    //april
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     sub monatstage 1       <<->>
    ENDIF                  ]
    POP0                   <
    
    //mai
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     add monatstage 1       <<+>>
    ENDIF                  ]
    POP0                   <
    
    //juni
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     sub monatstage 1       <<->>
    ENDIF                  ]
    POP0                   <
    
    //juli
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     add monatstage 1       <<+>>
    ENDIF                  ]
    POP0                   <
    
    //august
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     add monatstage 0
    ENDIF                  ]
    POP0                   <
    
    //september
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     sub monatstage 1       <<->>
    ENDIF                  ]
    POP0                   <
    
    //oktober
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     add monatstage 1       <<+>>
    ENDIF                  ]
    POP0                   <
    
    //november
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     sub monatstage 1       <<->>
    ENDIF                  ]
    POP0                   <
    
    //dezember
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     add monatstage 1       <<+>>
    ENDIF                  ]
    POP0                   <
    
    //zu gross
    DUP0                   [->+>+<<]>>[-<<+>>]<
    IF                     [[-]
     DEC monat2             <->
     monatstage=0           <<[-]>>
    ENDIF                  ]
    POP0                   <
    
    POP monat2             [-]<
    
    //if monatstage==0 then ungueltig=1
    DUP0 monatstage        [->+>+<<]>>[-<<+>>]<
    NOT                    >+<[[-]>-<]>[-<+>]<
    IF                     [[-]
     ungueltig=1            <<<<<<<<+>>>>>>>>
    ENDIF                  ]
    POP0                   <
    
    //layout: ungueltig tage tag monat jhd jahr schaltjahr monatstage
    
    //if tag groesser monatstage then ungueltig=1
    DUP5 tag2              <<<<<[->>>>>>+>+<<<<<<<]>>>>>>>[-<<<<<<<+>>>>>>>]<
    WHILE tag2             [
     DUP1 monatstage2       <[->>+>+<<<]>>>[-<<<+>>>]<
     NOT monatstage2        >+<[[-]>-<]>[-<+>]<
     IF                     [[-]
      monatstage=1          <<+>>
      ungueltig=1           <<<<<<<<<+>>>>>>>>>
     ENDIF                  ]
     POP0 monatstage2       <
     DEC monatstage         <->
     DEC tag2               -
    ENDWHILE tag2          ]
    POP0 tag2              <
    
    POP monatstage         [-]<
    POP schaltjahr         [-]<
    
    // fertig mit eingabe testen
    ////////////////////////////////////////////////////////////////////////////////
    
    ////////////////////////////////////////////////////////////////////////////////
    // tag berechnen
    //layout: tage=0 tag monat jhd jahr
    
    PUSH1 tmp              >+
    //if monat kleiner 3 dec jahr
    DUP3 monat2            <<<[->>>>+>+<<<<<]>>>>>[-<<<<<+>>>>>]<
    IF monat2              [
    DEC monat2             -
    IF monat2              [
    DEC monat2             -
    IF monat2              [
    DEC monat2             -
    DEC tmp                <->
    CLEAR monat            [-]
    ENDIF monat            ]
    ENDIF monat            ]
    ENDIF monat            ]
    POPZERO monat          <
    
    IF tmp                 [[-]
     go jahr                 <
     DUP0 jahr2              [->+>+<<]>>[-<<+>>]<
     NOT jahr2               >+<[[-]>-<]>[-<+>]<
     IF not jahr2            [[-]
      go jahr                 <
      //jahr=100
      ADD10                   ++++++++++
      MUL10                  [->++<]>[-<+++++>]<
      DEC jhd                 <->
      go not jahr2            >
     ENDIF not jahr2         ]
     DEC jahr                <->
     go tmp                  
    ENDIF tmp               ]
    POP0 tmp                <
    
    //jahre mal 1 dazuzaehlen
    //365==1 was wochentage angeht
    DUP0 jahr              [->+>+<<]>>[-<<+>>]<
    PUSH7                  >+++++++
    MOD                    [->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-<+>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>>[-<<->>]<[-]<-[-<+>]<
    add to tage            [-<<<<<+>>>>>]<
    
    //schaltjahre wegen /4 dazuzaehlen
    DUP0 jahr              [->+>+<<]>>[-<<+>>]<
    PUSH4                  >++++
    DIV                    [->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-<+>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>>[-]<[-<<+>>]<[-]<
    PUSH7                  >+++++++
    MOD                    [->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-<+>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>>[-<<->>]<[-]<-[-<+>]<
    add to tage            [-<<<<<+>>>>>]<
    
    //jahrhunderte mal 5 dazuzaehlen
    DUP1 jhd               <[->>+>+<<<]>>>[-<<<+>>>]<
    PUSH7                  >+++++++
    MOD                    [->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-<+>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>>[-<<->>]<[-]<-[-<+>]<
    add to tage            [-<<<<<+++++>>>>>]<
    
    //damit das abziehen immer klappt 7 zu den tagen dazu
    PUSH7                  >+++++++
    add to tage            [-<<<<<+>>>>>]<
    
    //schaltjahre wegen /400 dazuzaehlen
    DUP1 jhd               <[->>+>+<<<]>>>[-<<<+>>>]<
    PUSH4                  >++++
    DIV                    [->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-<+>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>>[-]<[-<<+>>]<[-]<
    PUSH7                  >+++++++
    MOD                    [->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-<+>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>>[-<<->>]<[-]<-[-<+>]<
    add to tage            [-<<<<<+>>>>>]<
    
    PUSH0 monatstage       >
    DUP3 monat             <<<[->>>>+>+<<<<<]>>>>>[-<<<<<+>>>>>]<
    
    //noch kein monat vergangen
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 0
    ENDIF monat2           ]
    POP0 monat2            <
    
    //januar ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 3       <<+++>>
    ENDIF monat2           ]
    POP0 monat2            <
    
    //februar ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     //eigentlich 0 aber mit jahresausgleich
     SUB monatstage 1       <<->>
    ENDIF monat2           ]
    POP0 monat2            <
    
    //maerz ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 3       <<+++>>
    ENDIF monat2           ]
    POP0 monat2            <
    
    //april  ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 2       <<++>>
    ENDIF monat2           ]
    POP0 monat2            <
    
    //mai ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 3       <<+++>>
    ENDIF monat2           ]
    POP0 monat2            <
    
    //juni  ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 2       <<++>>
    ENDIF monat2           ]
    POP0 monat2            <
    
    //juli ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 3       <<+++>>
    ENDIF monat2           ]
    POP0 monat2            <
    
    //august ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 3       <<+++>>
    ENDIF monat2           ]
    POP0 monat2            <
    
    //september ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 2       <<++>>
    ENDIF monat2           ]
    POP0 monat2            <
    
    //oktober ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 3       <<+++>>
    ENDIF monat2           ]
    POP0 monat2            <
    
    //november ist um
    DUP0 monat2            [->+>+<<]>>[-<<+>>]<
    IF monat2              [[-]
     DEC monat              <->
     ADD monatstage 2       <<++>>
    ENDIF monat2           ]
    POP0 monat2            <
    
    POP monat              [-]<
    
    PUSH7                  >+++++++
    MOD                    [->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-<+>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>>[-<<->>]<[-]<-[-<+>]<
    
    add monatstage to tage [-<<<<<+>>>>>]<
    
    DUP3 tag2              <<<[->>>>+>+<<<<<]>>>>>[-<<<<<+>>>>>]<
    add tag2 to tage [-<<<<<+>>>>>]<
    
    POP jahr               [-]<
    POP jhd                [-]<
    POP monat              [-]<
    POP tag                [-]<
    
    PUSH7                  >+++++++
    MOD                    [->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-<+>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>>[-<<->>]<[-]<-[-<+>]<
    // fertig mit tag berechnen
    ////////////////////////////////////////////////////////////////////////////////
    
    ////////////////////////////////////////////////////////////////////////////////
    // ausgabe
    //layout: ungueltig wochentag
    SWAP                   [->+<]<[->+<]>>[-<<+>>]<
    //layout: wochentag ungueltig
    IF ungueltig           [[-]
     go wochentag           <
     wochentag=7            [-]+++++++
     go ungueltig           >
    ENDIF                  ]
    POP0 ungueltig         <
    
    PUSH1 weiter=1         >+
    //layout: wochentag weiter
    
    DUP0 weiter1           [->+>+<<]>>[-<<+>>]<
    IF weiter1             [[-]
     DUP2 wochentag1        <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
     NOT                    >+<[[-]>-<]>[-<+>]<
     IF not wochentag1      [[-]
      PUSH64                 >++++[->++++<]>[-<++++>]<
      S                      +++++++++++++++++++.
      PUSH32                 >++[->++++<]>[-<++++>]<
      ADD                    [-<+>]<
      o                      ----.
      n                      -.
      n                      .
      t                      ++++++.
      a                      -------------------.
      g                      ++++++.
      POP                    [-]<
      weiter=0               <<->>
     ENDIF wochentag1       ]
     POP0 wochentag1        <
    ENDIF weiter1          ]
    POP0 weiter1           <
    
    DUP0 weiter1           [->+>+<<]>>[-<<+>>]<
    IF weiter1             [[-]
     DEC wochentag          <<->>
     DUP2 wochentag1        <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
     NOT                    >+<[[-]>-<]>[-<+>]<
     IF not wochentag1      [[-]
      PUSH64                 >++++[->++++<]>[-<++++>]<
      M                      +++++++++++++.
      PUSH32                 >++[->++++<]>[-<++++>]<
      ADD                    [-<+>]<
      o                      ++.
      n                      -.
      t                      ++++++.
      a                      -------------------.
      g                      ++++++.
      POP                    [-]<
      weiter=0               <<->>
     ENDIF wochentag1       ]
     POP0 wochentag1        <
    ENDIF weiter1          ]
    POP0 weiter1           <
    
    DUP0 weiter1           [->+>+<<]>>[-<<+>>]<
    IF weiter1             [[-]
     DEC wochentag          <<->>
     DUP2 wochentag1        <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
     NOT                    >+<[[-]>-<]>[-<+>]<
     IF not wochentag1      [[-]
      PUSH64                 >++++[->++++<]>[-<++++>]<
      D                      ++++.
      PUSH32                 >++[->++++<]>[-<++++>]<
      ADD                    [-<+>]<
      i                      +++++.
      e                      ----.
      n                      +++++++++.
      s                      +++++.
      t                      +.
      a                      -------------------.
      g                      ++++++.
      POP                    [-]<
      weiter=0               <<->>
     ENDIF wochentag1       ]
     POP0 wochentag1        <
    ENDIF weiter1          ]
    POP0 weiter1           <
    
    DUP0 weiter1           [->+>+<<]>>[-<<+>>]<
    IF weiter1             [[-]
     DEC wochentag          <<->>
     DUP2 wochentag1        <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
     NOT                    >+<[[-]>-<]>[-<+>]<
     IF not wochentag1      [[-]
      PUSH64                 >++++[->++++<]>[-<++++>]<
      M                      +++++++++++++.
      PUSH32                 >++[->++++<]>[-<++++>]<
      ADD                    [-<+>]<
      i                      ----.
      t                      +++++++++++.
      t                      .
      w                      +++.
      o                      --------.
      c                      ------------.
      h                      +++++.
      POP                    [-]<
      weiter=0               <<->>
     ENDIF wochentag1       ]
     POP0 wochentag1        <
    ENDIF weiter1          ]
    POP0 weiter1           <
    
    DUP0 weiter1           [->+>+<<]>>[-<<+>>]<
    IF weiter1             [[-]
     DEC wochentag          <<->>
     DUP2 wochentag1        <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
     NOT                    >+<[[-]>-<]>[-<+>]<
     IF not wochentag1      [[-]
      PUSH64                 >++++[->++++<]>[-<++++>]<
      D                      ++++.
      PUSH32                 >++[->++++<]>[-<++++>]<
      ADD                    [-<+>]<
      o                      +++++++++++.
      n                      -.
      n                      .
      e                      ---------.
      r                      +++++++++++++.
      s                      +.
      t                      +.
      a                      -------------------.
      g                      ++++++.
      POP                    [-]<
      weiter=0               <<->>
     ENDIF wochentag1       ]
     POP0 wochentag1        <
    ENDIF weiter1          ]
    POP0 weiter1           <
    
    DUP0 weiter1           [->+>+<<]>>[-<<+>>]<
    IF weiter1             [[-]
     DEC wochentag          <<->>
     DUP2 wochentag1        <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
     NOT                    >+<[[-]>-<]>[-<+>]<
     IF not wochentag1      [[-]
      PUSH64                 >++++[->++++<]>[-<++++>]<
      F                      ++++++.
      PUSH32                 >++[->++++<]>[-<++++>]<
      ADD                    [-<+>]<
      r                      ++++++++++++.
      e                      -------------.
      i                      ++++.
      t                      +++++++++++.
      a                      -------------------.
      g                      ++++++.
      POP                    [-]<
      weiter=0               <<->>
     ENDIF wochentag1       ]
     POP0 wochentag1        <
    ENDIF weiter1          ]
    POP0 weiter1           <
    
    DUP0 weiter1           [->+>+<<]>>[-<<+>>]<
    IF weiter1             [[-]
     DEC wochentag          <<->>
     DUP2 wochentag1        <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
     NOT                    >+<[[-]>-<]>[-<+>]<
     IF not wochentag1      [[-]
      PUSH64                 >++++[->++++<]>[-<++++>]<
      S                      +++++++++++++++++++.
      PUSH32                 >++[->++++<]>[-<++++>]<
      ADD                    [-<+>]<
      a                      ------------------.
      m                      ++++++++++++.
      s                      ++++++.
      t                      +.
      a                      -------------------.
      g                      ++++++.
      POP                    [-]<
      weiter=0               <<->>
     ENDIF wochentag1       ]
     POP0 wochentag1        <
    ENDIF weiter1          ]
    POP0 weiter1           <
    
    DUP0 weiter1           [->+>+<<]>>[-<<+>>]<
    IF weiter1             [[-]
     DEC wochentag          <<->>
     DUP2 wochentag1        <<[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
     NOT                    >+<[[-]>-<]>[-<+>]<
     IF not wochentag1      [[-]
      PUSH64                 >++++[->++++<]>[-<++++>]<
      F                      ++++++.
      PUSH32                 >++[->++++<]>[-<++++>]<
      ADD                    [-<+>]<
      e                      -.
      h                      +++.
      l                      ++++.
      e                      -------.
      r                      +++++++++++++.
      POP                    [-]<
      weiter=0               <<->>
     ENDIF wochentag1       ]
     POP0 wochentag1        <
    ENDIF weiter1          ]
    POP0 weiter1           <
    
    POP weiter             [-]<
    POP wochentag          [-]<
    
    PUSH10                 >++++++++++
    WRITECHAR              .[-]<
    
    // fertig mit ausgabe
    ////////////////////////////////////////////////////////////////////////////////
    

Anmelden zum Antworten