Cobus.Debeer@p0.f1.n491.z5.fidonet.org (Cobus Debeer) (10/29/90)
Grammer continued .... record_type : RECORD field_list END; field_list : field | field_list semicolon field; field : | field_declaration | variant_field; variant_field : CASE tag OF variant_list variant_else_opt END; tag : ident colon qualident | ident ref_list_opt; variant_list : variant | variant_list vertical_bar variant; variant : case_label_list colon field_list; case_label_list : case_label | case_label_list comma case_label; case_label : const_expression | subrange; variant_else_opt : | variant_else; variant_else : ELSE field_list; set_type : SET OF simple_type; pointer_type : POINTER TO type; procedure_type : PROCEDURE formal_type_list_opt function_opt; formal_type_list_opt : | formal_type_list; formal_type_list : left_parenthesis ft_list_opt right_parenthesis; ft_list_opt : | ft_list; ft_list : ft | ft_list comma ft; ft : var_opt formal_type; statement_list : statement | statement_list semicolon statement; statement : | assignment | procedure_call | if_statement | case_statement | while_statement | repeat_statement | loop_statement | for_statement | with_statement | EXIT | RETURN expression_opt; expression_opt : | expression; assignment : out_designator out_colon_equals expression; out_designator : designator; out_colon_equals : colon_equals; designator : ident ref_list_opt; ref_list_opt : | ref_list; ref_list : ref | ref_list ref; ref : dot ident | left_square_bracket exp_list right_square_bracket | up_arrow; exp_list_opt : | exp_list; exp_list : expression | exp_list comma expression; procedure_call : designator actual_parameters_opt; actual_parameters_opt : | actual_parameters; actual_parameters : left_parenthesis exp_list_opt right_parenthesis; if_statement : IF expression THEN statement_list elsif_list_opt else_opt END; elsif_list_opt : | elsif_list; elsif_list : elsif | elsif_list elsif; elsif : ELSIF expression THEN statement_list; else_opt : | else; else : ELSE statement_list; case_statement : CASE expression OF case_list else_opt END; case_list : case | case_list vertical_bar case; case : case_label_list colon statement_list; while_statement : WHILE expression DO statement_list END; repeat_statement : REPEAT statement_list UNTIL expression; loop_statement : LOOP statement_list END; Regards - Cobus de Beer -- uucp: uunet!m2xenix!puddle!5!491!1.0!Cobus.Debeer Internet: Cobus.Debeer@p0.f1.n491.z5.fidonet.org