[Patch, Fortran] F2003: More ASSOCIATE stuff

Daniel Kraft d@domob.eu
Tue Aug 17 08:20:00 GMT 2010


Tobias Burnus wrote:
>  On 08/17/2010 09:58 AM, Daniel Kraft wrote:
>> Tobias Burnus wrote: I also would expect an error for: The same 
>> restrictions are valid for INTENT(IN) variables themselves or 
>> PARAMETERs, for instance -- so I'd try to implement some general 
>> concept of variable definition context in order to unify and fix 
>> this.  If that's ok, in a seperate patch.
> 
> Yes, that's fine. I just wanted to mention it as you talked about using 
> it as actual argument to "INTENT((IN)OUT)" - thus I wanted to make sure 
> this usage case does not get forgotten.
> 
>>> OK, but I have one nit:
>>>
>>> +      gfc_error ("'%s' at %L associated to %s can not"
>>> +             " be used in a variable definition context",
>>> +             sym->name,&sym->declared_at,
>>> +             (target->expr_type == EXPR_VARIABLE
>>> +              ? "vector-indexed target" : "expression"));
>>>
>>>
>>> Can you split this into two gfc_errors? I think we make the live for 
>>> the translators much easier if we do not use %s + a string.
>>
>> I wondered about this, myself.  My rationale for why I thought it is 
>> not too bad was that the expressions inserted are somewhat "complete 
>> expressions" specifying "a thing" -- and thus it should be hopefully 
>> possible to translate this constructions (or the individual strings).
> 
> Translating individual strings without context is difficult - it it 
> might happen that, e.g., "expression" occurs twice. If you then need an 
> article, you might be in trouble, e.g.
> "... to an expression ..."  vs. "... to a vector-indexed target"
> Where to place the article? In the long string you cannot as it is 
> depends on the term which is in "%s". And for "expression" you only can 
> do it if (a) you realize that it is used in the context above and (b) 
> when "expression" is not used elsewhere.
> 
> I think in general, we do not give much help to translators with our 
> strings. I think it is possible to annotate the strings and thus helping 
> the translators to understand the terms, e.g. "dummy" or "parameter" 
> might be wrongly interpreted by compiler/computer science translators 
> without Fortran background.
> 
> Have a look at gcc/po/gcc.pot to see how it looks from a translator 
> perspective and note (a) how many strings they have to translate (namely 
> 7865), how many terms are used multiple times (i.e. multiple files 
> listed for a single mesgid), and how few strings have a comment above to 
> help the translator (Answer: Essentially none; there are comments 
> [search for "#."] but they are for the programmers and not for the 
> translators). -- I think we should try to improve the translator 
> comments ...
> 
>> So do you agree with committing when I've split the error message?
> 
> Yes.

Alright, I did the split and committed as rev. 163295.  Thanks for the 
fast review!

cheers,
Daniel

-- 
http://www.pro-vegan.info/
--
Done:  Arc-Bar-Cav-Ran-Rog-Sam-Tou-Val-Wiz
To go: Hea-Kni-Mon-Pri



More information about the Fortran mailing list