Jonas Maebe a écrit : > > On 25 Jun 2009, at 20:58, Inoussa OUEDRAOGO wrote: > >> 2009/6/25 Jonas Maebe <jonas.ma...@elis.ugent.be>: >>> >>> It's equally accurate. A hex number does not contain any sign >>> information, >>> so both interpretations are valid. >> >> so it could be parsed as QWord accurately and assigned to a QWord >> (typed) variable without warning, as it is an assignment between two >> QWORD values. > > Pascal is a context-insensitive language, which means that the type of > an expression does not depend on the context in which it is used. The > types always fully depend on the expression itself. Therefore the parser > cannot parse it as "int64 or qword", it has to pick one. So a choice has > to be made between int64 and qword, and this choice has to be the same > for every usage of such an expression. The choice has been, from the > very beginning, int64. > > Therefore, while the compiler could be changed to parse it as qword > instead, it is not possible (without violating the spirit of the Pascal > language
The fact that Borland regarded "$FF..FF" as a 2's complement representation and not as a base-16 representation of an integer is not really what I would call "Pascal spirit". As a matter of fact, "Borland mess" would be more appropriate. :-) mm ---- http://www.ellipsa.eu/ _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal