package p4spectec
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
P4-SpecTec: A mechanization toolchain for the P4 Programming Language
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.1.2.tar.gz
md5=1a3bc0a385fe1ecf403c019f49aa6de6
sha512=5d20b5821f33e2a3a5419b208606f27c01511994c2b3b1e1cdf4c077056dfd0aa81682af0720e1060ee2bfb0341918fcc4c53159820205a2bc32b725e5c1a714
doc/src/p4/parse.ml.html
Source file parse.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 39 40 41 42module Value = Runtime.Value open Util.Error let error = error_parse let error_no_region = error_parse_no_region let preprocess (includes : string list) (path : string) = try Preprocessor.preprocess includes path with _ -> "preprocessor error" |> error_no_region let lex (path : string) (file : string) = try let () = Lexer.reset () in let lexbuf = Lexing.from_string file in let () = Lexing.set_filename lexbuf path in lexbuf with Lexer.Error s -> Format.asprintf "lexer error: %s" s |> error_no_region let parse (lexbuf : Lexing.lexbuf) : Value.t = try Parser.p4program Lexer.lexer lexbuf with | Lexer.Error s -> let at = Lexer.at lexbuf in let msg = Format.asprintf "lexer error: %s" s in error at msg | Parser.Error -> let at = Lexer.at lexbuf in let msg = Format.asprintf "syntax error" in error at msg | e -> raise e let parse_string (path : string) (str : string) : Value.t = (* Assume str is preprocessed *) let tokens = lex path str in parse tokens let parse_file (includes : string list) (path : string) : Value.t = let program = preprocess includes path in parse_string path program let parse_file_fresh (includes : string list) (path : string) : Value.t = Value.Fresh_.refresh (); parse_file includes path
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>