2010-02-28 HIGH with string constant as open array parameter. The mocka manual says about OC-Handling of strings: "String Constants are 0C terminated by the compiler although [Wir85] does not explicitly call for this. The 0C character is not considered part of the strings so having passed it to an open array accessing it will cause an index check error. Therefore it is recommended to use the built-in function HIGH in order to determine the end of the string when using open array parameters." But with my mocka 9905, s[ HIGH(s) ] = 0C always evaluates to TRUE when passing a string constant (no runtime error), and the following code works fine: PROCEDURE IsConst( s: ARRAY OF CHAR ): BOOLEAN; BEGIN RETURN Str.Length( s ) = HIGH( s ); END IsConst; Wirth says [PIM88]: "Die obere Grenze erhält man durch Aufruf der Standardfunktion HIGH(s). Ihr Wert ist gleich der Anzahl von Elementen minus 1." 2010-03-23 TopSpeed 3.10 does the same. So Wirth's PL0Scanner.EnterKW() does not work with my compilers => used Str.Length().