Zurück zum Vorlesungsskript

Zum vorherigen Beispiel

Hier sehen Sie racket-Code, ein Shell-Skript, und C-Code. Alle sind als weißer Text auf schwarzem Hintergrund dargestellt. Ich will aber alle drei separat gestalten. Dennoch will ich für jedes das <pre>-Tag verwenden. Ich will also verschiedene "Sub-Tags" erstellen. Hierfür gibt es in HTML/CSS die sogenannten Klassen und das Attribute class.

Hier ist Racket-Code.

(define (factorial n)
  (if (equal? n 0)
      1
      (* n (factorial(- n 1)))
      )
  )
    
Und hier ist ein Shell-Skript:
#!/bin/bash
IFS=''
while read line
do
echo "\"$line\"",
done                   
    
und hier ist C-Code:
#include <stdio.h>
int ackermann(int a, int b) {
    if (a == 0) {
        return b+1;
    }
    else if (b == 0) { 
        return ackermann(a-1, 1);
    }
    else {
        return ackermann(a-1, ackermann(a, b-1));
    }
}
int main() {
    int a, b;
    while (scanf("%d %d", &a, &b) == 2) {
    printf("%d\n", ackermann(a,b));
    }
    return 0;
}                           
    

Was, wenn Keywords in Racket anders markiert sein sollen als in C-Programmen? Wir können natürlich Klassen wie racket-keyword, bash-keyword und c-keyword definieren. Es geht aber eleganter mit CSS-Kombinatoren. In einer Übungsaufgabe werden Sie aufgefordert werden, genau dies zu tun.