mochi/sdl_lexer

Types

pub type Position {
  Position(line: Int, column: Int)
}

Constructors

  • Position(line: Int, column: Int)
pub type SDLLexerError {
  UnexpectedCharacter(character: String, position: Position)
  InvalidNumber(value: String, position: Position)
  UnterminatedString(position: Position)
  UnterminatedDescription(position: Position)
}

Constructors

  • UnexpectedCharacter(character: String, position: Position)
  • InvalidNumber(value: String, position: Position)
  • UnterminatedString(position: Position)
  • UnterminatedDescription(position: Position)
pub type SDLLexerState {
  SDLLexerState(remaining: String, line: Int, column: Int)
}

Constructors

  • SDLLexerState(remaining: String, line: Int, column: Int)

SDL-specific tokens (extends the basic GraphQL tokens)

pub type SDLToken {
  LeftBrace
  RightBrace
  LeftParen
  RightParen
  LeftBracket
  RightBracket
  Colon
  Bang
  Equals
  At
  Pipe
  Amp
  Type
  Interface
  Union
  Scalar
  Enum
  Input
  Directive
  Schema
  Extend
  Implements
  Name(value: String)
  IntValue(value: Int)
  FloatValue(value: Float)
  StringValue(value: String)
  BooleanValue(value: Bool)
  EOF
  Comment(content: String)
  Description(content: String)
}

Constructors

  • LeftBrace
  • RightBrace
  • LeftParen
  • RightParen
  • LeftBracket
  • RightBracket
  • Colon
  • Bang
  • Equals
  • At
  • Pipe
  • Amp
  • Type
  • Interface
  • Union
  • Scalar
  • Enum
  • Input
  • Directive
  • Schema
  • Extend
  • Implements
  • Name(value: String)
  • IntValue(value: Int)
  • FloatValue(value: Float)
  • StringValue(value: String)
  • BooleanValue(value: Bool)
  • EOF
  • Comment(content: String)
  • Description(content: String)
pub type SDLTokenWithPosition {
  SDLTokenWithPosition(token: SDLToken, position: Position)
}

Constructors

Values

pub fn new_sdl_lexer(input: String) -> SDLLexerState
pub fn tokenize_sdl(
  input: String,
) -> Result(List(SDLTokenWithPosition), SDLLexerError)
Search Document