Subject: Re: your mail

From: Zheng Gengbing <[email-masked]>
Date: Tue, 2 Jul 1996 10:39:26 +0800 (EAT)

On Mon, 1 Jul 1996, Guansong Zhang wrote:

> On Jul 2, 10:21am, Zheng Gengbing wrote:
> > Subject: Re: your mail
> > On Mon, 1 Jul 1996, Guansong Zhang wrote:
> >
> > > I need some organization information from you to complete the test on our
> > > frontend.
> > >
> > > Right now I am not sure about semantics checking. So please give me some
> help
> > > on this.
> > >
> > > The attached is a latex file of summary on testing. I need detailed info on
> > > semantics checking. Some one here also are interested in developing a
> complete
> > > semantics checking like the thing was done in sytax checking.
> > >
> > > I think if we organize the semantics testing a little more clearly, our
> work
> > > can serve the purpose. So I hope you do not overlook this work. It is as
> > > important as code writing.
> > >
> >
> > >
> > 	I have conducted a little work about this . I am writing samples
> > according to the constrains of every rules .
> >
> > 	But this work is very tedious . And I don't think to have a complete
> > semantics checking like sytax checking can also prove the correctness of the
> > hpfsc .
> >
> > 	If you are intrested on this , I will give you  this sample files.
> >
> >
> >
> > Gengbin
> >-- End of excerpt from Zheng Gengbing
> 
> I have same idea with you. But the people here do not think so. I think if we
> can check each constrains of every rule will be a complete enough one.
> 
> So please give me as much info on this as you can. Let's show them that we had
> a complete ENOUGH semantics checking.
> 
> Guansong
> 

	Due to the AST representation , I believe sometimes hpfsc can report
errors correctly , and sometimes(in some circumstance) incorrectly . So only 
one sample cannot tell if the checking is correct . 

	here , I will attach an example on how I orgnize the samples 

Gengbin

!sample for derived type
! R422 - R429

program f
   type a0
        integer j
   end type

   type a1
	sequence
! R424.3   
!an access_spec or a PRIVATE statement within the defination is permitted
!only if the type defination is within the specification part of a module
	private
	integer i
! R424.2
!if sequence statement present, all derived type in component defination
!must be sequence type
 	type (a0) j
   end type a1

!R424.5
!must not redefine an intrinsic type
   type double
        real k
   end type

   type a2
!R427.1
!no component_attr_spec may appear more than once in a given component
!defination statement
	real,pointer,pointer::x
!R427.3
!if the POINTER attribute is specified for a component, a type_spec in
!the component_def_stmt must specify an instrinsic type or any accessible
!derived type including the type being defined.
	type (a3), pointer ::y
	type (a2), pointer ::z
!R427.2
!if the POINTER attribute is not specified for a component, a type_spec 
!in the component_def_stmt must specify an instrinsic type or a previously
!defined derived type
	type (a2) z1
!R429.1
!if the POINTER attribute is not specified, each component_array_spec
!must be an explicit_shape_spec_list
	real x1(:,:)
!R429.2
!if the POINTER attribute is specified, each component_array_spec must
!be an deferred_shape_spec_list
	real, pointer::x2(3,4:5)
!R429.3
!only when character decl , *char_length are permitted
	integer        x3*10
!R429.4
!in component_decl , char_length must be constant expression
	character      x4*(I)
	character      x5(3,7)*(8)
!R429.5
!each bound in the explicit_shape_spec must be a constant specification
!expression
	real,dimension(3:r,5)::x6
   end type a2
 
end