git.annexia.org
/
virt-mem.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a7f857e
)
Remove bogus '() with' (thanks Bluestorm).
author
Richard W.M. Jones
<rjones@redhat.com>
Tue, 12 Aug 2008 14:17:24 +0000
(15:17 +0100)
committer
Richard W.M. Jones
<rjones@redhat.com>
Tue, 12 Aug 2008 14:17:24 +0000
(15:17 +0100)
extract/codegen/kerneldb_to_parser.ml
patch
|
blob
|
history
diff --git
a/extract/codegen/kerneldb_to_parser.ml
b/extract/codegen/kerneldb_to_parser.ml
index
4bda418
..
f94de2f
100644
(file)
--- a/
extract/codegen/kerneldb_to_parser.ml
+++ b/
extract/codegen/kerneldb_to_parser.ml
@@
-99,10
+99,12
@@
let (//) = Filename.concat
* 'concat_record_fields' concatenates a list of records fields into
* a record. The list must have at least one element.
*
* 'concat_record_fields' concatenates a list of records fields into
* a record. The list must have at least one element.
*
+ * 'build_record' builds a record out of record fields.
+ *
* 'build_tuple_from_exprs' builds an arbitrary length tuple from
* a list of expressions of length >= 2.
*
* 'build_tuple_from_exprs' builds an arbitrary length tuple from
* a list of expressions of length >= 2.
*
- * Thanks to bluestorm on #ocaml for getting the
last on
e working.
+ * Thanks to bluestorm on #ocaml for getting the
s
e working.
*)
let concat_str_items _loc items =
match items with
*)
let concat_str_items _loc items =
match items with
@@
-128,6
+130,9
@@
let concat_record_bindings _loc rbs =
| rb :: rbs ->
List.fold_left (fun rbs rb -> <:rec_binding< $rbs$ ; $rb$ >>) rb rbs
| rb :: rbs ->
List.fold_left (fun rbs rb -> <:rec_binding< $rbs$ ; $rb$ >>) rb rbs
+let build_record _loc rbs =
+ Ast.ExRec (_loc, rbs, Ast.ExNil _loc)
+
let build_tuple_from_exprs _loc exprs =
match exprs with
| [] | [_] -> assert false
let build_tuple_from_exprs _loc exprs =
match exprs with
| [] | [_] -> assert false
@@
-737,8
+742,9
@@
Example (from toplevel of virt-mem source tree):
let fieldsigs = fields @ fields_not_present in
let fsname = sprintf "fieldsig_%d" i in
let fieldsigs = concat_record_bindings _loc fieldsigs in
let fieldsigs = fields @ fields_not_present in
let fsname = sprintf "fieldsig_%d" i in
let fieldsigs = concat_record_bindings _loc fieldsigs in
+ let fieldsigs = build_record _loc fieldsigs in
<:str_item<
<:str_item<
- let $lid:fsname$ =
{ () with $fieldsigs$ }
+ let $lid:fsname$ =
$fieldsigs$
>>
) parsers in
>>
) parsers in