Please answer the questions with clear explanation. Thanks
Write regular expressions to capture the following. (a) Strings in C. These are delimited by double quotes ("), and may not contain newline characters. They may contain double-quote or back- slash characters if and only if those characters are "escaped by a pre- ceding backslash. You may find it helpful to introduce shorthand nota- tion to represent any character that is not a member of a small specified set. Comments in Pascal. These are delimited by (* and *) or by { and ). They are not permitted to nest. Numeric constants in C. These are octal, decimal, or hexadecimal inte- gers, or decimal or hexadecimal floating-point values. An octal integer begins with o, and may contain only the digits 07. A hexadecimal integer begins with Ox or Ox, and may contain the digits 0-9 and a/A- f/F. A decimal floating-point value has a fractional portion (beginning with a dot) or an exponent (beginning with E or e). Unlike a decimal integer, it is allowed to start with 0. A hexadecimal floating-point value has an optional fractional portion and a mandatory exponent (begin- ning with P or p). In either decimal or hexadecimal, there may be digits .f (both self is given in decimal, with an optional leading + or - sign. An integer 1 indicating "long") or LL or 11 (indicating "long long"). A floating. point value may end with an optional Forf (indicating "float-single (0) Floating-point constants in Ada. These match the definition of real in Example 2.3, except that (1) a digit is required on both sides of the dec- imal point, (2) an underscore is permitted between digits, and (3) an alternative numeric base may be specified by surrounding the nonex- ponent part of the number with pound signs, preceded by a base in upper- and lowercase) are permitted as digits. Use of these letters in an inappropriate (e.g., decimal) number is an error, but need not be caught by the scanner. (6) Inexact constants in Scheme. Scheme allows real numbers to be ex. plicitly inexact (imprecise). A programmer who wants to express all constants using the same number of characters can use sharp signs (#) in place of any lower-significance digits whose values are not known. A base-10 constant without exponent consists of one or more digits fol- lowed by zero of more sharp signs. An optional decimal point can be placed at the beginning, the end, or anywhere in-between. (For the record, numbers in Scheme are actually a good bit more complicated than this. For the purposes of this exercise, please ignore anything you may know about sign, exponent, radix, exactness and length specifiers, and complex or rational values.) (0) Financial quantities in American notation. These have a leading dollar sign ($), an optional string of asterisks (*-used on checks to discour- age fraud), a string of decimal digits, and an optional fractional part consisting of a decimal point (.) and two decimal digits. The string of digits to the left of the decimal point may consist of a single zero (0). Otherwise it must not start with a zero. If there are more than three digits to the left of the decimal point, groups of three (counting from the right) must be separated by commas (,). Example: $**2,345.67. (Feel free to use "productions to define abbreviations, so long as the language remains regular.) 22 SL