Michael Van Canneyt via fpc-pascal wrote:


On Sat, 16 Dec 2023, Adriaan van Os via fpc-pascal wrote:


More questions about the FreePascal Language Reference (version 3.2.0) part 2

17. For the following rules, I couldn't find a definition in the Language Reference. Can I assume they can all be defined as <identifier> ?

    object-type-identifier                 = identifier .
    field-identifier                       = identifier .
    interface-identifier                   = identifier .
    interface-type-identifier              = identifier .
    method-identifier                      = identifier .
    procedure-identifier                   = identifier .
    protocol-identifier                    = identifier .
    protocol-type-identifier               = identifier .
    qualified-method-identifier            = identifier .
    result-identifier                      = identifier .
    type-identifier                        = identifier .
    function-identifier                    = identifier .
    unit-identifier                        = identifier .
    variable-identifier                    = identifier .

Yes.

The idea was to use these "dedicated names" to convey that the identifier must be of a certain type.

You cannot express this concept in a formal syntax, but for a formal syntax the above is correct.

Of course, a rule like

        proc-identifier = procedure-identifier | function-identifier .

makes no sense without the semantics of a symbol table (to decide between the 
two), but rules like

        procedure-heading = "PROCEDURE" procedure-identifier ....
        function-heading = "FUNCTION" function-identifier ....
        procedure-identifier = identifier .
        function-identifier = identifier .

do make sense, even without semantics, because in the parsing(-only) tree, a procedure-identifier (etc.) node is now marked as such, and not just as identifier. In certain applications of a parsing(-only) tree this is quite useful.

Regards,

Adriaan van Os

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to