File: lektion.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 (51 lines) | stat: -rw-r--r-- 1,413 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
(letrec
    ((g-any
      (rdp-cond*
       `((#(ENDTAG))			; leave untouched

	 ; need to rename into divisions
	 ; could be changed if we don't use section
	 ; for teacher's remarks
	 (#(STARTTAG (SECT SECT1 SECT2))
	  ,(rdpp-rename 'DIVISION (rdp-call g-any)))
	 (#(STARTTAG) ,(rdp-call p-any)) ; pass untouched
	 ,(pass-otherwise))))
     (p-any (rdpp-keep g-any))
     (rdp-watch-out
      (lambda (msg f)
	(lambda (c h s)
	  (stream-dbg-watch msg (f c h s)))))
     (mksect
      (lambda (hd)
	`((#(STARTTAG DIVISION (#(ID CDATA ,hd) #(LANG TOKEN ("DE"))))
	   #(STARTTAG HEADING ())
	   #(DATA ,hd)
	   #(ENDTAG HEADING))
	  #(ENDTAG DIVISION))))
     (mkpresect
      (lambda (hd)
	`((#(STARTTAG P ()) #(ENDTAG P)
	   #(STARTTAG BF ())
	   #(DATA ,(string-upcase hd))
	   #(ENDTAG BF)
	   #(STARTTAG P ()) #(ENDTAG P))
	  ))))

  (rdpp-rename
   'DOCUMENT
   (rdp-cond
    `((#(STARTTAG HEADING)
       ,p-any
       ,(rdp-cond*
	 `((#(STARTTAG ZEIT)
	    ,(rdp-repll `((#(STARTTAG BF ())
			   #(DATA "Zeit: "))
			  (#(ENDTAG BF))) g-any))
	   (#(STARTTAG FRAGE) ,(rdp-repll (mkpresect "Frage") g-any))
	   (#(STARTTAG ZIEL) ,(rdp-repll (mkpresect "Ziel") g-any))
	   (#(STARTTAG MOTIV) ,(rdp-repll (mkpresect "Motivation") g-any))
	   (#(STARTTAG VORAUS) ,(rdp-repll
				 (mkpresect "Vorwissen / Wiederholung")
					   g-any))
	   (#(STARTTAG STOFF) ,(rdp-repll (mkpresect "Stoff") g-any))
	   )))))))