Previous: , Up: Formal syntax   [Index]


7.1.7 Libraries

⟨library⟩ → (define-library ⟨library name⟩ ⟨library declaration⟩*)

⟨library name⟩ → (⟨library name part⟩+)

⟨library name part⟩ → ⟨identifier⟩ | ⟨uinteger 10⟩

⟨library declaration⟩ → (export ⟨export spec⟩*)
   | ⟨import declaration⟩
   | (begin ⟨command or definition⟩*)
   | ⟨includer⟩
   | (include-library-declarations ⟨string⟩+)
   | (cond-expand ⟨cond-expand clause⟩+)
   | (cond-expand ⟨cond-expand clause⟩+ (else ⟨library declaration⟩*))

⟨import declaration⟩ → (import ⟨import set⟩+)

⟨export spec⟩ → ⟨identifier⟩ | (rename ⟨identifier⟩ ⟨identifier⟩)

⟨import set⟩ → ⟨library name⟩
  | (only ⟨import set⟩ ⟨identifier⟩+)
  | (except ⟨import set⟩ ⟨identifier⟩+)
  | (prefix ⟨import set⟩ ⟨identifier⟩)
  | (rename ⟨import set⟩ (⟨identifier⟩ ⟨identifier⟩)+)

⟨cond-expand clause⟩ → (⟨feature requirement⟩ ⟨library declaration⟩*)

⟨feature requirement⟩ → ⟨identifier⟩   | (library ⟨library name⟩)
  | (and ⟨feature requirement⟩*)
  | (or ⟨feature requirement⟩*)
  | (not ⟨feature requirement⟩)