www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Scheme" - Escapen in Scheme
Escapen in Scheme < Scheme < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Scheme"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Escapen in Scheme: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 00:00 Mo 14.01.2008
Autor: alge

Aufgabe
Es soll ein Scheme-Programm geschrieben werden, dass in einer LaTeX-Eingabedatei die Wörter, die Zeichen und die Leerzeichen zählt.

Hallo zusammen...

Prinzipiell kein Problem, wenn die Sache mit dem Escapen nicht wäre. In einer LaTeX-Eingabedatei wimmelt es zwingend von "" und \ . Wie kriege ich es hin, daß eine Funktion den Text eingegeben kriegt und automatisch die Sonderzeichen escapet, so daß ein String daraus wird, mit dem Scheme etwas anfangen kann?

Die sonstigen nötigen Prozeduren habe ich:

; white-space-count: list(string) -> number

(define white-space-count (lambda (l)
                            (cond
                              ((empty? l) 0)
                              ((string=? (first l) " ") (+ 1 (white-space-count (rest l))))
                              (else (white-space-count (rest l))))))

; char-count: list(string) -> number

(define char-count (lambda (l)
                     (- (length l) (white-space-count l))))

; zählt die Wörter einer Liste von Strings
; ein Wort wird immer dann gezählt, wenn auf ein Zeichen ein Leerzeichen folgt.

; word-count: list(string) -> number
(define word-count (lambda (l)
                     (cond
                       ((empty? l) 0)
                       ((string=? (first l) " ") (word-count (rest l)))
                       (else (helper (rest l))))))

; helper: list(string) -> f number (list(string) -> number)
(define helper (lambda (li)
                 (cond
                   ((or (empty? li) (string=? (first li) " ")) (+ 1 (word-count li)))
                   (else (word-count li)))))

; text-count: string -> string

(define text-count (lambda (t)
                     (let* ((l (string->strings-list t)))
                       (string-append "Dieser Text enthält " (number->string (word-count l)) " Worte, "
                                      (number->string (char-count l)) " Zeichen und " (number->string (white-space-count l)) " Leerzeichen."))))


Ach ja, das ganze ist in PLT Scheme mit der Erweiterung von:
http://www.deinprogramm.de/dmda/
(und zwar der dmda-372.plt)
geschrieben.

Vielleicht kann mir ja jemand helfen, danke euch!

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Escapen in Scheme: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:34 Do 17.01.2008
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Scheme"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]