File: brief.scm

package info (click to toggle)
sdc 1.0.8beta-8
  • links: PTS
  • area: contrib
  • in suites: slink
  • size: 1,400 kB
  • ctags: 874
  • sloc: lisp: 8,120; ansic: 967; makefile: 671; perl: 136; sh: 50
file content (68 lines) | stat: -rw-r--r-- 1,903 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
(define p-brief-ren
  (let ((self (rdp-call p-brief-ren)))
    (rdp-cond*
     `((#(ENDTAG))
       (#(STARTTAG DISP) ,(rdpp-rename 'QUOTE self))
       (#(STARTTAG LISTE) ,(rdpp-rename 'LIST self))
       (#(STARTTAG PKT) ,(rdpp-rename 'O self))
       (#(STARTTAG) ,(rdpp-keep self))
       ,(pass-otherwise)
       ))))

(define p-adr
  (let ((tatv (lambda (t sym)
		(lout-tr-string (xatv t sym)))))
    (rdp-repll
     (lambda (t)
       `(("
@ADDR
titel{" ,(tatv t 'TITEL) "}
vorname{" ,(tatv t 'VORNAME) "}
name{" ,(tatv t 'NAME) "}
firma{" ,(tatv t 'FIRMA) "}
strasse{" ,(tatv t 'STRASSE) "}
ort{" ,(tatv t 'ORT) "}
plz{ " ,(xatv t 'PLZ) "}
telefon{" ,(tatv t 'TELEFON) "}
telefax{" ,(tatv t 'TELEFAX) "}
")
#f))
     rdp-leave)))

(define p-adresse (rdp-repll '(#f #f) p-adr))

(define p-brief
  (rdp-repll
   `(
(#(STARTTAG BRIEF)
#"@SysInclude{\"brief.lout\"}
@Text @Begin
@Marke fenster{" ,(lambda (t) (xatv t 'FENSTER)) "}
")
(#"
@End @Text
" #(ENDTAG BRIEF)))
   (rdp-process p-brief-ren)
   (rdp-cond
    `((#(STARTTAG VON) ,(rdp-repll `(#\newline #"{Absender}\n") p-adresse))))
   (rdp-map
    (lambda (logo an inserted)
     (stream-append an inserted logo))
    (rdp-cond
     `((#(STARTTAG LOGO) ,(rdp-repll `(#\newline #"{Absender}\n") p-text))))
    (rdp-cond
     `((#(STARTTAG AN) ,(rdp-repll `(#\newline #"{Adresse}\n") p-adresse))))
    (rdp-insert #"\n@JFWBrief @Abs @Adr\n"))
   (rdp-cond
    `((#(STARTTAG DATUM) ,(rdp-repll `(#"\n@Datum{" #"}") p-text))))
   (rdp-cond
    `((#(STARTTAG BETR) ,(rdp-repll `(#"\n@Betreff{" #"}") p-text))))
   (rdp-cond
    `((#(STARTTAG ANREDE) ,(rdp-repll `(#"\n&0c " #"\n@LP\n") p-text))))
   (rdp-cond
    `((#(STARTTAG TEXT) ,(rdp-repll `(#f #f) p-body*))))
   (rdp-cond
    `((#(STARTTAG GRUSS) ,(rdp-repll `(#"\n// @Gruss{" "}") p-text))))
   (rdp-cond
    `((#(STARTTAG ANLAGE) ,(rdp-repll `(#"\n@Anlage{"   #"}\n" ) p-body*))))
   ))