Module Surface.Lexer_frSource

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

Sourceval sum_string : string

Temporary hack while the "sum" keyword is being deprecated