stage1_2/iec.flex
changeset 11 8ce37f36d744
parent 9 ebd07483c099
child 13 77174ccc5471
equal deleted inserted replaced
10:66f4f7f85d0a 11:8ce37f36d744
   580 
   580 
   581 /********************************************/
   581 /********************************************/
   582 /* B.1.4.1   Directly Represented Variables */
   582 /* B.1.4.1   Directly Represented Variables */
   583 /********************************************/
   583 /********************************************/
   584 /* The correct definition, if the standard were to be followed... */
   584 /* The correct definition, if the standard were to be followed... */
   585 /*
   585 
   586 location_prefix		[IQM]
   586 location_prefix			[IQM]
   587 size_prefix		[XBWDL]
   587 size_prefix			[XBWDL]
   588 direct_variable		%{location_prefix}({size_prefix}?){integer}((.{integer})*)
   588 direct_variable_standard	%{location_prefix}({size_prefix}?){integer}((.{integer})*)
   589 */
   589 
   590 
   590 
   591 /* For the MatPLC, we will accept %<identifier>
   591 /* For the MatPLC, we will accept %<identifier>
   592  * as a direct variable, this being mapped onto the MatPLC point
   592  * as a direct variable, this being mapped onto the MatPLC point
   593  * named <identifier>
   593  * named <identifier>
   594  */
   594  */
   603  *    Remember that some direct variable may remain anonymous, with
   603  *    Remember that some direct variable may remain anonymous, with
   604  *    declarations such as:
   604  *    declarations such as:
   605  *    VAR
   605  *    VAR
   606  *       AT %I3 : BYTE := 255;
   606  *       AT %I3 : BYTE := 255;
   607  *    END_VAR
   607  *    END_VAR
   608  *    in which case we are currently using "I3" as the variable
   608  *    in which case we are currently using "%I3" as the variable
   609  *    name. For the other names, this would create havoc!!!
   609  *    name.
   610  */
   610  */
   611 direct_variable		%{identifier}
   611 direct_variable_matplc		%{identifier}
       
   612 
       
   613 direct_variable			{direct_variable_standard}|{direct_variable_matplc}
   612 
   614 
   613 /******************************************/
   615 /******************************************/
   614 /* B 1.4.3 - Declaration & Initialisation */
   616 /* B 1.4.3 - Declaration & Initialisation */
   615 /******************************************/
   617 /******************************************/
   616 incompl_location	%[IQM]\*
   618 incompl_location	%[IQM]\*