Class Ek9LiteralParser

java.lang.Object
org.ek9lang.compiler.support.Ek9LiteralParser

public final class Ek9LiteralParser extends Object
Shared utility for parsing EK9 literals that the grammar supports but standard Java parse methods do not handle directly.

Covers hex/octal/underscore integer formats, underscore float formats, and character escape sequences (\t, A, octal \101).

  • Method Details

    • parseInteger

      public static long parseInteger(String literal)
      Parse an EK9 integer literal string to a long value. EK9 Integer is 64-bit, so literals are parsed as long (e.g. 10000000000000 is valid). Handles decimal, hex (0x/0X), octal (0 prefix), and underscore-separated (1_000) formats.
    • parseFloat

      public static float parseFloat(String literal)
      Parse an EK9 float literal string to a float value. Handles underscore-separated formats (1_000.5).
    • parseDouble

      public static double parseDouble(String literal)
      Parse an EK9 float literal string to a double value. Handles underscore-separated formats (1_000.5).
    • parseCharacter

      public static char parseCharacter(String literal)
      Parse an EK9 character literal (quotes already stripped) to a char. Handles single characters, standard escapes (\t, \n), unicode escapes (A), and octal escapes (\101).
    • processStringEscapes

      public static String processStringEscapes(String literal)
      Process escape sequences in an EK9 string literal (quotes already stripped). Resolves \t, \n, A, \101, etc. Unrecognized escapes (e.g., \T) are passed through as-is. Returns the input unchanged if no backslash is present.