Diverse Programmierhelfer |
Aho, Alfred V./Sethi, Ravi/Ullman, Jeffrey D.: Compilerbau. 1999
Eine Startseite, um Literatur und Links zu dem Thema, aber auch, um aktuelle Implemtierungen von lex und yacc zu finden, findet sich unter der URL:
gaston> diff moin.c doppel.c 0a1 > /* (C) 2002 Arnold Willemer */ 2c3 < main() --- > main(int argc, char **argv) 5d5 < return 0; gaston> |
Um den Unterschied würdigen zu können, kommt nun der Text von moin.c
main() { puts("Moin, Torfmoorholm!"); return 0; } |
Und hier ist die Datei doppel.c, die an drei Stellen verändert wurde. In der ersten Zeile wurde ein Kommentar hinzugefügt. Der Funktion main wurden Parameter hinzugefügt. Dafür wurde die Zeile mit return entfernt.
/* (C) 2002 Arnold Willemer */ main(int argc, char **argv) { puts("Moin, Torfmoorholm!"); } |
gaston> head progr.tex | od 0000000 063534 045560 070141 072151 066145 050173 067562 071147 0000020 066541 064555 071145 067165 020147 067566 020156 064123 0000040 066145 071554 071153 070151 062564 076556 005012 061134 0000060 063545 067151 063573 040560 066156 071545 071145 005175 0000100 071120 063557 060562 066555 062551 062562 020156 071551 0000120 020164 064544 020145 067550 062550 045440 067165 072163 |
Dasselbe noch einmal in hexadezimaler Schreibweise:
gaston> head progr.tex | od -x 0000000 675c 4b70 7061 7469 6c65 507b 6f72 7267 0000020 6d61 696d 7265 6e75 2067 6f76 206e 6853 0000040 6c65 736c 726b 7069 6574 7d6e 0a0a 625c 0000060 6765 6e69 677b 4170 6c6e 7365 7265 0a7d 0000100 7250 676f 6172 6d6d 6569 6572 206e 7369 0000120 2074 6964 2065 6f68 6568 4b20 6e75 7473 |
Und weil es so schön ist, noch einmal als ASCII-Text:
gaston> head progr.tex | od -c 0000000 \ g p K a p i t e l { P r o g r 0000020 a m m i e r u n g v o n S h 0000040 e l l s k r i p t e n } \n \n \ b 0000060 e g i n { g p A n l e s e r } \n 0000100 P r o g r a m m i e r e n i s 0000120 t d i e h o h e K u n s t |
Diese Seite basiert auf Inhalten aus dem Buch
Arnold Willemer: Wie werde ich UNIX-Guru Verlagsrechte bei galileo computing |
Homepage |
(C) Copyright 2002 Arnold Willemer
|