Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
frama-c
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pub
frama-c
Commits
3eb99875
Commit
3eb99875
authored
4 years ago
by
Lionel Blatter
Committed by
Virgile Prevosto
4 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Upgrade the printer for extended annotations
parent
d3dc9f6d
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/kernel_services/ast_queries/acsl_extension.ml
+19
-12
19 additions, 12 deletions
src/kernel_services/ast_queries/acsl_extension.ml
with
19 additions
and
12 deletions
src/kernel_services/ast_queries/acsl_extension.ml
+
19
−
12
View file @
3eb99875
...
...
@@ -63,24 +63,31 @@ type extension = {
short_printer
:
extension_printer
;
}
let
default_printer
printer
fmt
=
function
|
Ext_id
i
->
Format
.
fprintf
fmt
"%d"
i
|
Ext_terms
ts
->
Pretty_utils
.
pp_list
~
sep
:
",@ "
printer
#
term
fmt
ts
|
Ext_preds
ps
->
Pretty_utils
.
pp_list
~
sep
:
",@ "
printer
#
predicate
fmt
ps
|
Ext_annot
(
id
,
an
)
->
Format
.
fprintf
fmt
"@[<v 2>@[%s@ {@]@
\n
%a}@]@
\n
"
id
(
Pretty_utils
.
pp_list
~
pre
:
"@[<v 0>"
~
suf
:
"@]@
\n
"
~
sep
:
"@
\n
"
printer
#
extended
)
an
let
default_printer
name
printer
fmt
=
function
|
Ext_id
i
->
Format
.
fprintf
fmt
"@[<hov 2>%s %d;@]"
name
i
|
Ext_terms
ts
->
Format
.
fprintf
fmt
"@[<hov 2>%s %a;@]"
name
(
Pretty_utils
.
pp_list
~
sep
:
",@ "
printer
#
term
)
ts
|
Ext_preds
ps
->
Format
.
fprintf
fmt
"@[<hov 2>%s %a;@]"
name
(
Pretty_utils
.
pp_list
~
sep
:
",@ "
printer
#
predicate
)
ps
|
Ext_annot
(
id
,
an
)
->
Format
.
fprintf
fmt
"@[<v 2>@[%s %s {@]@
\n
%a}@]"
name
id
(
Pretty_utils
.
pp_list
~
pre
:
"@[<v 0>"
~
suf
:
"@]@
\n
"
~
sep
:
"@
\n
"
printer
#
extended
)
an
let
default_short_printer
name
printer
fmt
=
function
|
Ext_id
_
|
Ext_terms
_
|
Ext_preds
_
->
Format
.
fprintf
fmt
"%s"
name
|
Ext_annot
(
id
,
an
)
->
Format
.
fprintf
fmt
"%s@ {@
\n
%a@]@
\n
}"
id
(
Pretty_utils
.
pp_list
~
sep
:
"@
\n
"
printer
#
extended
)
an
|
Ext_annot
(
id
,
an
)
->
Format
.
fprintf
fmt
"%s@ {@
\n
%a@]@
\n
}"
id
(
Pretty_utils
.
pp_list
~
sep
:
"@
\n
"
printer
#
extended
)
an
let
make
name
category
?
(
preprocessor
=
Extlib
.
id
)
typer
?
(
visitor
=
fun
_
_
->
Cil
.
DoChildren
)
?
(
printer
=
default_printer
)
?
(
printer
=
default_printer
name
)
?
(
short_printer
=
default_short_printer
name
)
status
:
extension_part1
*
extension_part2
=
{
preprocessor
;
typer
;
status
}
,
{
category
;
visitor
;
printer
;
short_printer
}
...
...
@@ -90,7 +97,7 @@ let make_block
?
(
preprocessor
=
Extlib
.
id
)
typer
?
(
visitor
=
fun
_
_
->
Cil
.
DoChildren
)
?
(
printer
=
default_printer
)
?
(
printer
=
default_printer
name
)
?
(
short_printer
=
default_short_printer
name
)
status
:
extension_part3
*
extension_part2
=
{
preprocessor
;
typer
;
status
}
,
{
category
;
visitor
;
printer
;
short_printer
}
...
...
@@ -194,8 +201,8 @@ module Extensions = struct
let
visit
name
=
(
find_part2
name
)
.
visitor
let
print
name
printer
fmt
kind
=
let
pp
=
(
find_part2
name
)
.
printer
printer
in
Format
.
f
print
f
fmt
"@[<hov 2>%s %a;@]"
name
pp
kind
let
pp
=
(
find_part2
name
)
.
printer
in
pp
print
er
fmt
kind
let
short_print
name
printer
fmt
kind
=
let
pp
=
(
find_part2
name
)
.
short_printer
in
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment