База ответов ИНТУИТ

Разработка компиляторов

<<- Назад к вопросам

Следующая процедура:
int Factor (){   char ch = getChar();   if (isDigit (ch)) return getValue(ch);   if (ch == '(')    {      int result = Formula ();      if (getChar() == ')') return result;      error ("Неожиданный символ");      return 0;   }   return error ("Неожиданный символ"); }
вычисляет значение:

(Отметьте один правильный вариант ответа.)

Варианты ответа
формулы, содержащие операции типа умножения
формулы, содержащие операции типа сложения
простейшие формулы(Верный ответ)
Похожие вопросы
Данная функция:
int yylex (void){int ch;while ((ch = getchar ()) == ' ');if (isdigit (ch)){ungetc (ch, stdin); scanf (%i, &yylval);return NUMBER_LC;}return ch;}
вычисляет следующую пару значений:
Следующий набросок программы:
q = q0;c = GetChar();while (c != eof) {  q = move (q, c);  c = GetChar();}if (q is in F) return "yes";else return "no"; 
демонстрирует (предполагается, что входная лента заканчивается символом end_of_file):
Данная программа:
var in : integer;function Digits (integer n) : integer;var m : integer;begin  if n < 10 then return n  else begin    m := n div 10;    return n - m*10 + Digits (m);  end;end; begin  read (in);  writeln(Digits(in));end.
используется:
В данном примере:
goto (I, X) {   J={};         for (каждой ситуации [A->w.Xv] из I) {      J+=[A->wX.v];   }   return closure (J);}
происходит:
В качестве алфавита операторов данной программы:
int F (int a, int b){  int g = a, m = b;  if (a < b) {g = b; m = a;}  while (m)   {    int s = g;    g = m;    m = s % m;  }  return g;}
выступает следующее множество:
В данном примере:
struct S {int a; int b};int F (int n, struct S * v){int i, s = 0;for (i=0; i<n; i++){	int q = (v+i)->a - (v+i)->b; --- 1	if (q < 0) s += (v+i)->a + (v+i)->>b;  --- 2else (v+i)->b = q;(v+i)->a = (v+i)->b;   --- 3}return s;}
эквивалентны следующие вхождения выражения (v+i)->b:
Данный пример:
private int m_stateOfVeryCriticalResource;public int stateOfVeryCriticalResource {  get { if (IsAllowedUser())            return m_stateOfVeryCriticalResource; }  set { if (IsAdmin())            m_stateOfVeryCriticalResource = value; }}...stateOfVeryCriticalResource = vcrCompletelyScrewedUp;
позволяет проверить достаточность полномочий запрашивающего приложения:
Метод getChar:
При таком описании класса:
public class Matrix {	public const int n = 10;	public int[,] elements = new int[n,n];	public int this[int i, int j]	{		get { return elements[i,j]; }		set { elements[i,j] = value; }	}}
допустимо следующее использование:
С помощью какого атрибута в данном примере:
using System.Runtime.InteropServices;public class AppMain {  [DllImport("user32.dll")]  public static extern int MessageBoxA(int handle, string message,    string caption,int flags);  public static void Main(){    MessageBoxA(0,"Hello World","Native Message Box",0);  }  [conditional("DEBUG")]   public static void SayHello() {     Console.WriteLine("Hello, World!"); return;   }}
обеспечивается взаимодействие с функцией MessageBoxA из Win32 API: