pl: Material für Code Manipulation

Beitrag lesen

Wenns um Transpiler geht, wirst Du da sicher selber fündig. Freilich ist es möglich, mit einer PL-A über ein Template den Code für PL-B zu generieren und mit eval() zu kompilieren bzw. auszuführen.

Aber warum unbedingt eval, guck mal hier:

xhr.open('GET', xr('@self@?rm=@url@',{
   self:'%url%',
   url: encodeURI(url)
}));

Auf den ersten Blick nicht gleich sichtbar, mit dieser Zeile handelt es sich um ein PL (Programming Lang) übergreifendes Template. So ist %url% ein Platzhalter, der noch vor dem Ausliefern der Seite serverseitig mit einer Perl-TE gerendert wird. D.h., der gesamte Body ist dafür das Template.

'@self@?rm=@url@' hingegen ist das Template für eine JavaScript-TE. Wenn Letztere zuschlägt, steht in %url% bereits derjenige URL drin der über den nächsten Platzhalter @self@ gerendert wird und schließlich für den XHR-Request verbindlich ist.

Im Prinzip ein kleines Beispiel für transpile: Eine Perl-Variable findet über den Umweg einer TE in JS Verwendung. MfG

0 56

Material für Code Manipulation

MB
  • kontextwechsel
  • regex
  • zur info
  1. 0
    pl
    1. 0
      MB
      1. 0
        dedlfix
      2. 0
        Die schlaue Regina
        1. 0
          Christian Kruse
          1. 0
            dedlfix
            1. 0
              Christian Kruse
              1. 0
                JürgenB
                1. 0
                  Die schlaue Regina
                  1. 0
                    dedlfix
                    1. 0
                      Die schlaue Regina
                  2. 0
                    JürgenB
                2. 2
                  mermshaus
        2. 0
          MB
          1. 0
            pl
            1. 0
              Matthias Apsel
              1. 0
                pl
                1. 0
                  Gunnar Bittersmann
                  • javascript
                  • php
                  • programmiertechnik
                2. 0
                  Matthias Apsel
                  1. -2
                    pl
                    1. 0
                      Matthias Apsel
                      1. -1
                        pl
                        1. 1
                          Christian Kruse
                          1. 0
                            pl
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                pl
          2. 0
            pl
            1. 0
              pl
              1. 0
                Gunnar Bittersmann
                • javascript
                1. 0
                  pl
                  1. 0
                    JürgenB
                    1. 0
                      pl
                      1. 0
                        pl
                  2. 0
                    Gunnar Bittersmann
                    1. 0
                      pl
        3. 0
          pl
          1. 0
            Gunnar Bittersmann
            • meinung
      3. -2
        pl
        1. 1

          Isch mach disch minus

          Die schlaue Regina
          1. 4
            asdf
            1. -2
              pl
          2. 0
            pl
            1. 6
              dedlfix
            2. 1
              Matthias Apsel
              1. 0
                Die schlaue Regina
                1. 0
                  dedlfix
                  • menschelei
                  • zu diesem forum
                  1. 0
                    Die schlaue Regina
            3. 0
              Die schlaue Regina
              1. 0
                dedlfix
                1. 0
                  Gunnar Bittersmann
                  • meinung
              2. 0
                Gunnar Bittersmann
                • meinung
            4. 0
              Gunnar Bittersmann
              • meinung
            5. 0
              MB
  2. 0
    pl
    1. 0
      pl