module Casl-Lib
%% written/changed by Bjarke Wedemeijer (January 1998)
%% adapted by Mark van den Brand (June 1999)
%% adapted by Mark van den Brand (November 2000)
%% adapted by Christian Maeder (January 2002)
%% adapted by Christian Maeder (February 2004)
imports Casl-Arch
exports
sorts Lib-Defn Lib-Items
context-free syntax
%% Lib-Defn
"library" Lib-Name Ann Lib-Items -> Lib-Defn
Lib-Item+ -> Lib-Items
%% Lib-Item
Spec-Defn -> Lib-Item
View-Defn -> Lib-Item
Arch-Spec-Defn -> Lib-Item
Unit-Spec-Defn -> Lib-Item
"from" Lib-Name "get" {Item-Name-Or-Map ","}+ Opt-End -> Lib-Item
%% Item-Name-Or-Map
Item-Name -> Item-Name-Or-Map
Item-Name "|->" Item-Name -> Item-Name-Or-Map
%% Item-Name
Simple-Id -> Item-Name
%% Lib-Name
Lib-Id -> Lib-Name
Lib-Id Version -> Lib-Name
%% Lib-Id
Url -> Lib-Id
Path -> Lib-Id
%% Version
"version" {Number "."}+ -> Version