-- ThreeC4FlowGraphAbGram.ThreeC4
-- Sturgis, May 7, 1986 5:19:04 pm PDT

Include[ThreeC4BaseDecl, ThreeC4RecFcnDecl, ThreeC4BasicAbTypes];

ThreeC4FlowGraphAbGram: Module =
Begin

-- this and related modules will contain all of the implementations for flow analysis

-- first, some basic types and functions used only here

Slot: BaseType;



-- here is the abstract grammar for DamageShareAssertions

-- the abstract type is defined in BasicAbTypes.ThreeC4

 DamageShareAssertions.empty: AbstractProduction[];
 DamageShareAssertions.many:
  AbstractProduction[DamageShareAssertions, DamageShareAssertion];
  
DamageShareAssertion: AbstractType[FormRecordOfDamageShareAssertion];
 DamageShareAssertion.damagedReps: AbstractProduction[ModIdList];
 DamageShareAssertion.sharedReps: AbstractProduction[ModIdList]


End.