Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
This fact is used for preserving the original appearance of the source code after transformations. It declares that multiple variables are declared in a single declaration, being written as
int i, j, k;
instead of
int i; int j; int k;
#firstField: fieldT, localT
ID of the first variable.
[#otherField1, …]: fieldT, localT
list of IDs of other variables. These facts are marked with an omit_fieldT fact.
... int i, j, k; ...
fieldT(FirstField, Parent, Type, 'i', null). fieldT(SecondField, Parent, Type, 'j', null). fieldT(ThirdField, Parent, Type, 'k', null). preserve_inlineDeclarationT(FirstField, [SecondField, ThirdField]). omit_fieldT(SecondField, FirstField). omit_fieldT(ThirdField, FirstField).
ast_relation_type_spec(preserve_inlineDeclarationT,[ ast_arg(id, mult(1,1,no ), id, [fieldT, localT]), ast_arg(ref, mult(1,*,ord ), id, [fieldT, localT]) ]).