//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2010, 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
//
// This program and the accompanying materials are made available
// under the terms of the MIT License which is available at
// https://opensource.org/licenses/MIT
//
// SPDX-License-Identifier: MIT
//////////////////////////////////////////////////////////////////////////////

include::../_part_attributes.asciidoc[]

:leveloffset: -2

[[tools-cif2cif-chapter-remove-print-decls]]
== Remove print declarations

indexterm:[CIF to CIF transformer,remove print declarations]
indexterm:[remove print declarations]
indexterm:[print declaration,remove]
indexterm:[print file declaration,remove]
This CIF to CIF transformation removes <<lang-ref-text-printdecl,print>> and <<lang-ref-text-printfile,print file>> declarations from the specification.
This may reduce the size of the specification.
It may also lead to the specification being supported by more tools, as the print and print file declarations may use features of the CIF language that certain tools don't support.

This CIF to CIF transformation removes only print and print file declarations.
The <<tools-cif2cif-chapter-remove-io-decls>> CIF to CIF transformation removes them as well, but additionally also removes the other I/O declarations.

=== Supported specifications

This transformation supports all CIF specifications.

=== Preprocessing

n/a

indexterm:[remove print declarations,implementation]

=== Implementation details

All print and print file declarations are removed from the specification.

=== Renaming

n/a

indexterm:[remove print declarations,size considerations]

=== Size considerations

Since information is removed from the specification, the specification can only become smaller as a result of this transformation.

=== Optimality

n/a

=== Annotations

This transformation does not process, add, or remove any annotations.
