Please follow instructions thoroughly.
semantic1.txt
// Variable Initialization Mismatch
function main returns integer;
value: integer is ‘A’;
begin
1;
end;
semantic10.txt
// List Subscript is not Integer
function main returns integer;
aList: list of integer is (1, 2, 3);
begin
aList(1.5);
end;
semantic11.txt
— Mixing Numeric and Character Types with Relational Operator
function main returns integer;
begin
if ‘b’ < ‘c’ then
1;
elsif ‘b’ < 1 then
2;
else
3;
endif;
end;
semantic12.txt
// Using Character Literal with Exponentiation Operator
// and Negation Operator
function main returns integer;
c: character is ~’c’;
begin
5 ^ ‘P’;
end;
semantic13.txt
// Mixing Real Literals with the Remainder Operator
function main returns integer;
begin
4 % 4.8;
end;
semantic14.txt
— If Elsif Else Mismatch
function main returns integer;
begin
if 9 < 10 then
1;
elsif 8 = 1 then
2;
else
3.7;
endif;
end;
semantic15.txt
// Folding a nonnumeric List
function main returns integer;
begin
fold left + (‘a’, ‘b’, ‘c’) endfold;
end;
semantic16.txt
— Narrowing Variable Initialization
function main returns integer;
b: integer is 5 * 2.5;
begin
b + 1;
end;
semantic17.txt
— Narrowing Function Return
function main returns integer;
b: integer is 6 * 2;
begin
if 8 < 0 then
b + 3.0;
else
b * 4.6;
endif;
end;
semantic18.txt
— Duplicate Scalar and List Variables
function main returns integer;
scalar: integer is 4 * 2;
scalar: character is ‘b’;
a_list: list of integer is (4, 2);
a_list: list of real is (2.3, 4.4);
begin
1;
end;
semantic19.txt
// Multiple Semantic Errors
function main returns integer;
value: integer is 4.5;
numbers: list of real is (1, 2, 3);
one: integer is ‘1’;
begin
if value > 0 then
fold left + (‘a’, ‘b’) endfold;
elsif name = ‘N’ then
fold right * (1, 2.5) endfold;
else
when value < 10, 1 : 1.5;
endif;
end;
semantic2.txt
// When Types Mismatch
function main returns integer;
begin
when 2 < 1, 1 : ‘a’;
end;
semantic3.txt
// Non Integer Switch Expression
function main returns integer;
b: character is ‘A’;
begin
switch b is
case 1 => 2;
case 2 => 4;
others => 6;
endswitch;
end;
semantic4.txt
// Case Types Mismatch
function main returns integer;
b: character is ‘b’;
begin
switch 1 is
case 1 => 2;
case 2 => b;
others => 6;
endswitch;
end;
semantic5.txt
// Using Character Variable with Arithmetic Operator
function main returns integer;
b: character is ‘b’;
begin
b + 10;
end;
semantic6.txt
// Undeclared Scalar Variable
function main returns integer;
begin
2 * b + 3;
end;
semantic7.txt
// Undeclared List Variable
function main returns integer;
begin
primes(1) + 1;
end;
semantic8.txt
// List with Elements of Different Types
function main returns integer;
aList: list of integer is (1, 2, 3.5);
begin
aList(1);
end;
semantic9.txt
// List Type Does Not Match Element Types
function main returns character;
aList: list of character is (1, 2, 3);
begin
aList(1);
end;
valid1.txt
— Program with a Real Variable
function main returns real;
a: real is 4.5;
begin
a;
end;
valid2.txt
— Program with a Hexadecimal Literals
function main returns integer;
a: integer is #A;
begin
a + #a;
end;
valid3.txt
— Program with a Real Variable
function main returns real;
a: real is 4 + 4.5;
begin
a;
end;