Class IsIdentifier

java.lang.Object
org.ek9lang.compiler.support.IsIdentifier
All Implemented Interfaces:
Predicate<String>

public final class IsIdentifier extends Object implements Predicate<String>
🛑 THE characters of an EK9 identifier: true when the text is one whole identifier by the lexer's Identifier : Letter LetterOrDigit* with Letter : [a-zA-Z] and LetterOrDigit : [a-zA-Z0-9_] (EK9LexerRules.g4), keywords included. Per character: IsIdentifierStart and IsIdentifierPart. Use these rather than Character.isJavaIdentifierPart or a private copy.

Java's rule is not EK9's: it admits $, which in EK9 is the string operator. A rename that asked Java whether `${$count}` held a longer name than count was told yes - the $ in front - and skipped the site, leaving the interpolation naming a variable that no longer existed (found 2026-10-23 through ek9_find_symbols with renameTo). It also admits non-ASCII letters, which the lexer does not.

Whether a well-formed identifier is free to be a NAME is IsReservedWord's question.

  • Constructor Details

    • IsIdentifier

      public IsIdentifier()
  • Method Details