gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Procedure Const parameter?


From: Fischlin Andreas
Subject: Re: Procedure Const parameter?
Date: Tue, 24 Mar 2020 18:29:24 +0000

Dear Hung Hung,

Given the many questions you ask, I highly recommend to you to read 

Programing in Modula-2 by Niklaus Wirth. Springer. I recommend ed. 3.

This is anyway a very good and enjoyable read and should help you to understand 
M2 quickly, answer all your questions efficiently, and even introduce you to 
the spirit of Modula-2 and the structured programing it supports.

Regards, Andreas 

ETH Zurich, Prof. em. Dr. Andreas Fischlin, IPCC Vice-Chair WGII, Systems 
Ecology, CHN E 24, Universitaetstrasse 16, CH-8092 Zurich, SWITZERLAND
Tel: +41 44 633-6090   Mobile: +41 79 595-4050   Mail: address@hidden
www.sysecol.ethz.ch/people/andreas.fischlin.html

> On 24 Mar 2020, at 19:15, Gaius Mulley <address@hidden> wrote:
> 
> Hưng Hưng <address@hidden> writes:
> 
>> Free Pascal has this: procedure test(const x: pchar);
>> 
>> What is the equivalent in gm2?
>> 
>> I want a const pointer. e.g:
>> 
>> type test = pointer to integer;
>> procedure testit(const x: test);
>> 
>> I need it to be able to complete the translation of the C header to
>> gm2.
> 
> Hi,
> 
> there is no const pointer in Modula-2
> 
> you can either use:
> 
> example.def
> 
> DEFINITION MODULE FOR "C" example ;
> 
> TYPE
>   ptr = POINTER TO INTEGER ;
> 
> PROCEDURE foo (a: ptr) ;
> PROCEDURE bar (VAR a: ptr) ;
> 
> END example.
> 
> fortunately you can either state this as const or without const in your
> C file
> 
> example.c
> 
> void example_foo (const int *a);    /* add/remove const as suits.  */
> void example_foo (int **a);    /* add/remove const as suits.  */
> 
> etc
> 
> regards,
> Gaius
> 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]