I see. I only said so because i thought would became more pretty if his was bolded like de inline next to him.<br><br><div class="gmail_quote">2012/2/28 Jonas Maebe <span dir="ltr"><<a href="mailto:jonas.maebe@elis.ugent.be" target="_blank">jonas.maebe@elis.ugent.be</a>></span><br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
<div><br>
On 28 Feb 2012, at 13:25, Everton Vieira wrote:<br>
<br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
2012/2/24 Jonas Maebe <<a href="mailto:jonas.maebe@elis.ugent.be" target="_blank">jonas.maebe@elis.ugent.be</a>><br>
<br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
On 24 Feb 2012, at 18:07, Everton Vieira wrote:<br>
<br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
static; should be a keyword, doesn't?<br>
</blockquote>
<br>
No, it's not a keyword.<br>
</blockquote>
<br>
But is used like one. Why is that so?<br>
</blockquote>
<br></div>
It's not used like one. Keyword means "it's a reserved word by the language, and you can never use it for anything other than how it's defined by the language". Examples of keywords are "begin" and "procedure". Some identifiers are only keywords in certain language modes (e.g. try/except/on/finally/raise are only keywords in language modes that know about exception handling).<br>
<br>
There are other identifiers that can have a special meaning in a particular context (such as "cdecl" and "static"), but outside that context they behave like any other modifier. Or they may simply be types or routines that are part of the system unit. The reason is that code written for language dialects that do not treat those identifiers as keywords can otherwise not be compiled. To illustrate:<br>
<br>
{$mode objfpc}<br>
<br>
type<br>
longint = string;<br>
cdecl = longint;<br>
protected = longint;<br>
varargs = char;<br>
sin = byte;<br>
<br>
var<br>
stdcall: cdecl;<br>
<br>
// note that the final "cdecl;" here does have the "original" meaning of cdecl<br>
function static(const inline: protected): varargs; cdecl;<br>
begin<br>
static:=stdcall[sin(inline[1])<u></u>];<br>
end;<br>
<br>
begin<br>
end.<div><div><br>
<br>
<br>
Jonas<br>
<br>
______________________________<u></u>_________________<br>
fpc-pascal maillist - <a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank">fpc-pascal@lists.freepascal.<u></u>org</a><br>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal" target="_blank">http://lists.freepascal.org/<u></u>mailman/listinfo/fpc-pascal</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Everton Vieira.<br>