glelm/elm/lexer

Types

pub type Error =
  lexer.Error
pub opaque type Lexer
pub type Token {
  TypeKeyword
  UnitKeyword
  UpcaseIdentifier(String)
  VerticalBar
  Eq
  LParen
  RParen
  Comma
  Comment(String)
  LetKeyword
  InKeyword
  CaseKeyword
  OfKeyword
  WhereKeyword
  DoKeyword
  TypeAliasKeyword
  PortModuleKeyword
  ModuleKeyword
  IfKeyword
  ThenKeyword
  ElseKeyword
  ImportKeyword
  ExposingKeyword
  AsKeyword
  BoolLiteral(Bool)
  FloatLiteral(Float)
  IntLiteral(Int)
  StringLiteral(String)
  Identifier(String)
  Arrow
  Pipeline
  ReverseApply
  Cons
  Concat
  Plus
  Minus
  Multiply
  Divide
  IntDivide
  Power
  Modulo
  Equal
  NotEqual
  LessThan
  GreaterThan
  LessEqual
  GreaterEqual
  LBracket
  RBracket
  LBrace
  RBrace
  Dot
  DoubleDot
  Colon
  LayoutStart
  LayoutEnd
  LayoutSemicolon
}

Constructors

  • TypeKeyword
  • UnitKeyword
  • UpcaseIdentifier(String)
  • VerticalBar
  • Eq
  • LParen
  • RParen
  • Comma
  • Comment(String)
  • LetKeyword
  • InKeyword
  • CaseKeyword
  • OfKeyword
  • WhereKeyword
  • DoKeyword
  • TypeAliasKeyword
  • PortModuleKeyword
  • ModuleKeyword
  • IfKeyword
  • ThenKeyword
  • ElseKeyword
  • ImportKeyword
  • ExposingKeyword
  • AsKeyword
  • BoolLiteral(Bool)
  • FloatLiteral(Float)
  • IntLiteral(Int)
  • StringLiteral(String)
  • Identifier(String)
  • Arrow

    ->

  • Pipeline

    |>

  • ReverseApply

    <|

  • Cons

    ::

  • Concat

    ++

  • Plus
  • Minus
  • Multiply
  • Divide
  • IntDivide

    //

  • Power

    ^

  • Modulo
  • Equal

    ==

  • NotEqual

    /=

  • LessThan
  • GreaterThan
  • LessEqual
  • GreaterEqual
  • LBracket
  • RBracket
  • LBrace
  • RBrace
  • Dot
  • DoubleDot

    ..

  • Colon
  • LayoutStart

    Generated { for layout

  • LayoutEnd

    Generated } for layout

  • LayoutSemicolon

    Generated ; for layout

Functions

pub fn multi_line_comment() -> Matcher(Token, a)
pub fn new() -> Lexer
pub fn run(
  lx: Lexer,
  source: String,
) -> Result(List(Token(glelm/elm/lexer.Token)), Error)
pub fn single_line_comment() -> Matcher(Token, a)
Search Document