package goblint-cil
A front-end for the C programming language that facilitates program analysis and transformation
Install
Dune Dependency
Authors
Maintainers
Sources
goblint-cil-2.0.6.tbz
sha256=5577007bfac63c3f0609abdb74119fe674c9bc8529d790e90ef73a85964aa07a
sha512=f1a393fa92614ceaf857bec4df474d3e152c578d0ab5fdf791e9129668861ccaa37efae2f18aa539965d6c2ed4dabb47b4a5262aab55112e181935def06f18da
doc/src/goblint-cil.syntacticsearch/codeQuery.ml.html
Source file codeQuery.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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
open Yojson.Safe module Result = Ppx_deriving_yojson_runtime.Result (* JSON-query has the following form: select: ... type: ... target: ... find: ... structure: ... constraint: ... *) type selectable = | Name_sel [@name "name"] | Location_sel [@name "location"] [@to_yojson fun x -> `String x] | Type_sel [@name "type"] [@to_yojson fun x -> `String x] | ID_sel [@name "id"] [@to_yojson fun x -> `String x] [@@deriving yojson] type select = selectable list [@@deriving yojson] type kind = | Var_k [@name "var"] | Fun_k [@name "fun"] | Datatype_k [@name "datatype"] [@@deriving yojson] type target = | Name_t of string [@name "name"] | ID_t of int [@name "id"] | All_t [@name "all"] | AllGlobVar_t [@name "all_glob_var"] | Or_t of string list [@name "or"] | And_t of string list [@name "and"] [@@deriving yojson] type find = | Uses_f [@name "uses"] | Decl_f [@name "decl"] | Defs_f [@name "defs"] | UsesWithVar_f of string [@name "uses_with_var"] | Returns_f [@name "returns"] [@@deriving yojson] type structure = | Fun_s of string [@name "fun_name"] | Cond_s [@name "cond"] | NonCond_s [@name "non-cond"] | None_s [@name "none"] [@@deriving yojson] type constr = Constraint_c of string [@name "constr"] | None_c [@name "none"] [@@deriving yojson] (* Type-definition of a query for mapping use *) type query = { sel : select; [@key "select"] k : kind; [@key "type"] tar : target; [@key "target"] f : find; [@key "find"] str : (structure[@default None_s]); [@key "structure"] lim : (constr[@default None_c]); [@key "constraint"] } [@@deriving yojson] (* toString-function for query *) let to_string_q query = Yojson.Safe.to_string (query_to_yojson query) exception Error of string let parse_json_file filename = let jsonTree = from_file filename in let derived = query_of_yojson jsonTree in match derived with Result.Ok y -> y | Result.Error x -> raise (Error x)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>