File: CheckDirectivePairs.scm

package info (click to toggle)
denemo 2.6.49-0.2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 66,916 kB
  • sloc: ansic: 94,587; lisp: 38,713; xml: 22,675; python: 1,930; sh: 1,239; makefile: 642; yacc: 288; sed: 93
file content (38 lines) | stat: -rw-r--r-- 1,644 bytes parent folder | download | duplicates (6)
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
;;;CheckDirectivePairs
(define-once CheckScore::error-position #f)
(define CheckDirectivePairs::return #f)
(d-PushPosition)
(d-MoveToBeginning)
(let ((last-start #f)
        (InCue #f))
    (let loop () 
        (let ((tag (d-DirectiveGetForTag-standalone)))
            (if (equal? tag "InstallCue")
                (begin
                    (set! last-start (GetPosition))
                    (if (equal? (d-DirectiveGet-standalone-postfix tag) "}")
                        (if InCue
                            (set! InCue #f)
                            (begin
                                (set! CheckDirectivePairs::return (_ "Bad End Cue Marker"))
                                (set! CheckScore::error-position (GetPosition))))
                        (if InCue
                            (begin
                                (set! CheckDirectivePairs::return (_ "Bad Start Cue Marker"))
                                (set! CheckScore::error-position (GetPosition)))
                            (set! InCue #t)))))
                ;;; other paired tags here
                
                
            (if (and (not CheckDirectivePairs::return) (d-NextStandaloneDirective))
                    (loop))))
     (if InCue
        (begin
            (set! CheckScore::error-position last-start)
            (set! CheckDirectivePairs::return (_ "Start Cue without End Cue Marker")))))
                
(d-PopPosition)                
(if (and (not CheckDirectivePairs::params) CheckDirectivePairs::return)
    (begin
        (apply d-GoToPosition CheckScore::error-position)
        (d-WarningDialog CheckDirectivePairs::return)))