Appears to be causing the error. I’m not a TECkit expert, but I spent an hour working with it yesterday, so it’s fresh. I define a character class inside a pass.
Moving
ByteClass [abc] = (33…126)
So that it is under the line
pass(Byte_Unicode)
Makes the compile error go away. But check that definition again. Is (33…126) what you really want?
Thanks, I did get past the error by deleting the pass line (the task only needs one pass).
What the ByteClass was for was to specify all the “lower ANSI” punctuation and letters to be transformed into a matching Unicode class. I entered the numbers in decimal because that is what the program seems to expect for bytes. The table as I posted it had the class not being used at all, because I had not finished it. I posted it in that state because I was already getting the error.
The class definition has to be within a pass, however if there is no pass statement, TECkit assumes a pass(Byte_Unicode) statement. So, both solutions (deleting the pass statement or moving the class definition into the pass) work to resolve the error.
Details from TECkit_Language_2.1.pdf:
For compatibility with the original TECkit 1.0 language (as supported by the prototype TECkit release in 2000), in the case where the description requires just a single Byte_Unicode pass, the pass line may be omitted altogether; if class definitions and mapping rules are found with no pass line, an implicit pass(Byte_Unicode) is assumed.