package sqlgg
SQL Guided (code) Generator
Install
Dune Dependency
Authors
Maintainers
Sources
sqlgg-20231201.tar.gz
md5=0841965b140612b9b1fb066cc21f88cb
sha256=7fbee5972b8fa0488bf31bb482101c93c328f67ceef3e95af165d554736d78fe
sha512=5d14e03e02f62c72c57cc574fd9f637e99118556a739af16d71e8813a8cbd8c330e48d69b9577ef2e9d0227aee9d85664cb4907f479927b7431e0475d954fa1a
doc/src/sqlgg.lib/parser_utils.ml.html
Source file parser_utils.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
(* Simple wrapper tying together parser and lexer *) module type Parser_type = sig type token type result val input : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> result val rule : Lexing.lexbuf -> token end exception Error of exn * (int * int * string * string) module Make(T : Parser_type) = struct let parse_buf_exn lexbuf = try T.input T.rule lexbuf with exn -> begin let curr = lexbuf.Lexing.lex_curr_p in let line = curr.Lexing.pos_lnum in let cnum = curr.Lexing.pos_cnum - curr.Lexing.pos_bol in let tok = Lexing.lexeme lexbuf in let tail = Sql_lexer.ruleTail "" lexbuf in raise (Error (exn,(line,cnum,tok,tail))) end let parse_buf lexbuf = try Some (parse_buf_exn lexbuf) with _ -> None let parse_stdin () = parse_buf (Lexing.from_channel stdin) let parse_string str = (*Error.log "Parsing : %s" str; *) parse_buf (Lexing.from_string str) let parse_file filename = let contents = try Std.input_file filename with _ -> "" in parse_string contents end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>