package catala

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Surface.Lexer_plSource

include Lexer_common.LocalisedLexer
Sourceval token_list : (string * Tokens.token) list

Same as Surface.Lexer_common.token_list_language_agnostic, but with tokens whose string varies with the input language.

Sourceval lex_builtin : string -> Ast.builtin_expression option

Simple lexer for builtins (from an lident)

Sourceval lex_primitive_type : string -> Ast.primitive_typ option

Simple lexer for builtin primitive types (from an lident)

Sourceval lex_builtin_constr : string -> Ast.builtin_constr option

Simple lexer for builtin constructors (from an uident)

Main lexing function used in a code block

Main lexing function used outside code blocks

Entry point of the lexer, distributes to lex_code or lex_law depending of the current Surface.Lexer_common.context.

Sourceval lex_line : context:[ `Law | `Code | `Test | `Raw ] ref -> Sedlexing.lexbuf -> (string * Lexer_common.line_token) option

Low-level lexer intended for dependency extraction. The whole line (including "\n" is always returned together with the token. None for EOF. The call updates the passed context reference as expected