Compiler Theory

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;

CustomEssayMasters

Ready To Get Started

The Exertio is a Premium WordPress Theme, you can create your own market place website using this theme. It allows you to get a commission for hiring a freelancer or for each service sold.