Please post your solution to the Sep 1 In-Class Exercise to this thread.
Best,
Chris
<pre> integer (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*
number real real integer exponent integer 1 exponent E-integer integer 4 therefore, number 1E-4 </pre>
(Edited: 2021-09-01)integer -> (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*
a number can be a real. a real can be an integer (in this case 1) followed by an exponent. an exponent is e or E (in this case E) followed by +, -, or , (in this case -) followed by an integer. an integer is a digit (in this case 4) followed by 0 or more digits (none in this case)
(Edited: 2021-09-01)integer (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*
A number is real. A real is an integer. An integer can be followed by an exponent. 1 is an integer. 1 is followed by E-4, which is the exponent. As a result, 1E-4 is a number.
(Edited: 2021-09-01)The regular expression definition of a number is integer|real An integer is (0|1|2|3|4|5|6|7|8|9)* 1 is an integer, An integer is a digit, E-4 is an exponent, An exponent is a integer, Therefore 1E-4 is a number
(Edited: 2021-09-01)<pre> integer -> (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*
number -> real real -> integer exponent integer -> 1 exponent -> 4
making 1E-4 a number </pre>
(Edited: 2021-09-01)<pre> integer --> digit digit* digit --> 0|1|2|3|4|5|6|7|8|9 integer --> (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*
number --> integer|real real --> integer exponent|decimal(exponent|empty string) exponent --> (e|E)(+|-|empty string)integer
1E-4 is a number. Because it has "E" in it, it does not match the regular expression for integer, so it must be a real. 1 matches the first integer. Because there is no decimal, E-4 must match the exponent regular expression. E matches e or E.
4 matches integer, so E-4 matches the exponent regular expression. The string ends, so empty string matches exponent or empty string. So 1E-4 matches the regular expression for a real, which means it also matches the regular expression for a number. </pre>
(Edited: 2021-09-01)integer expanded: (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*
1E-4: 1->integer|real E-> exponent | integer '-'-> exponent 4 -> digit Therefore 1E-4 is a number
(Edited: 2021-09-01)1 is digit
Since decimal -> digit (.digit|digit) digit
Exponent -> (e|E)(+|-|e)integer
Then E- 4 is exponent
Since number -> interger exponent|decimal(exponent|e)
Then 1E-4 is number
(Edited: 2021-09-01)<pre>
the empty set. Therefore the literal 1E-4 is an integer 1 followed by the exponent E-4 as defined by the exponent rule exponent --> (e|E)(+|-|"")integer. we know 4 is an integer as it a digit 4 followed by 0 or more digits thus completing the exponent rule. therefore 1E-4 is a real by integer exponent definition therefore it is a number as a number--> integer|real </pre>
(Edited: 2021-09-01)