Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VASSUV
MiThEoN
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 415
Записей в блоге: 2
Завершенные тесты: 1
#1

что за точки - C++

17.04.2011, 16:58. Просмотров 293. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include <string>
#include <sstream>
#include <iostream>
#include <fstream>
#include <vector>
 
COMPILER expr 
 
enum ExprType {t_id, t_num};
 
enum Operator { t_div, t_times, t_plus, t_minus};
 
std::vector<std::wstring> identlist;
 
int toInt(const std::wstring& strbuf)
{
    std::wstringstream converter;
    int value = 0;
 
    //converter.precision(4);
    //converter.fill('0');
    //converter.setf( std::ios::fixed, std::ios::floatfield );                              
 
    converter << strbuf;
    converter >> value;
    return value;
}
 
std::wstring toString ( int Number )
{
     std::wostringstream ss;
     ss << Number;
     return ss.str();
}
 
 
IGNORECASE
CHARACTERS
letter = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".
digit = "0123456789".
cr  = '\r'.
lf  = '\n'.
tab = '\t'.
 
TOKENS
ident  = letter {letter | digit | "_"}.
number = digit {digit}.
 
 
COMMENTS FROM "/*" TO "*/" NESTED
COMMENTS FROM "//" TO cr lf
 
IGNORE cr + lf + tab
 
PRODUCTIONS
 
expr (.std::wstring str;.) = (.std::wstring s,s1,s2,s3,s4; ExprType t1,t2;.) 
     ident (.s1=t.val; identlist.insert(s1);.)":=" NumExpr<s2,t1> ";" 
{
    ident (.s3=t.val; identlist.insert(s3);.)":=" NumExpr<s4,t2> ";" (.s=s3; s+=L":="; s+=s4; s+=L";\n";.)
}
     (.
          str=L"var ";
          for(int i=0; i<identlist.size(); i++)
          {
               str+=identlist[i];
               if(i!=ident.size()-1)
                    str+=L", ";
               else
                    str+=L":";
          }
          str+=L"integer;\n";
          str+=s1; str+=L":="; str+=s2; str+=L";\n";
          str+=s;
               
          std::wofstream outfile (L"out.txt", std::ios_base::out);
          outfile << str << std::endl;          
          outfile.close();
     .)           .
  
NumExpr<std::wstring &str, ExprType &t> = (.std::wstring s1,s2; operator op; ExprType t1,t2;.)
    Term<s1,t1> 
{ 
     ("+" (.op=t_plus;.)|"-" (.op=t_minus;.)) NumExpr<s2,t2>
     (.
          if(t1==t_num && t2==t_num)
          {
               t=t_num;
               int n;
               if(op==t_plus)
                    n=toInt(s1)+toInt(s2);
               else
                    n=toInt(s1)-toInt(s2);
                           
               str=toString(n);
          }
          else
          {
               t=t_id;
               str=s1;
               if(op==t_plus)
                    str+=L"+";
               else
                    str+=L"-";
               str+=s2;
          }
     .)
}.
 
Term<std::wstring &str, ExprTipe &t> =(.str::wstring s1,s2; ExprType t1,t2; Operator op;.) 
    Multiplier<s1,t1> 
{ 
     ("*" (.op=t_times;.)|"/"(.op=t_div;.)) Term<s2,t2> 
     (.
          if(t1==t_num && t2==t_num && op==t_times)
          {
               t=t_num;
               int n;
               n= toInt(s1)*toInt(s2);
               str=toString(n);               
          }
          else
          {
               t=t_id;
               str=s1;
               if(op==t_div)
                    str+=L"/";
               else
                   str+=L"*";
               str+=s2;
          }
     .)
}.
 
Multiplier<std::wstring &str, ExprType &t> = (.std::wstring s; ExprType t1;.)
     ident (.str=t.val; t=t_id; identlist.insert(t.val);.) 
          | number (.str=t.val; t=t_num;.)
               | "(" NumExpr<s,t1> ")" (.str=s; t=t1;.).
  
END expr.
обясните смысл точек во многих местах.

код объяснять не надо, его я так для примера выложил
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2011, 16:58     что за точки
Посмотрите здесь:

Вычисление ближайшей точки, что не так? как переделать ? - C++
#include &lt;math.h&gt; #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &quot;Point.h&quot; float randFloat() { return...

Определить вероятность, что расстояние от точки, где окажется робот, до исходной точки окажется ровно 5 - Теория вероятностей
Дано множтво точек 8x8, которые имеют вид (рис. 1). Расстояние от одной точки до соседней по вертикали или горизонтали - 1см. Иммется...

Показать,что ГМТ точки, расстояние которой от прямой Х=45 в 3 рза больше, чем расстояние от точки А(5,0) - Геометрия
показать,что ГМТточки ,расстояние которой от прямой Х=45 в 3 рза больше,чемрасстояние от точки А(5,0) до эллипса

На графике отметить асимптоты, точки экстремума, точки перегиба, точки пересечения с осями координат - Matlab
Что-то выходит не совсем правильный график. clc; clear all; close all; l = -10; r = 10; N = 1000;

Что означают точки? - Java EE
Получаем доступ к io через java, для того, чтобы получить доступ к IOException? Что означают точки? import java.io.IOException;

Точки на экране. Что делать? - Ремонт ноутбуков
Решил поиграть в игрушку, спустя 5 минут на экране появились точки и полосы в разных направлениях. Причина в видеокарте или может что-то...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
17.04.2011, 17:05     что за точки #2
" :: " - это обращение к какому-то пространству имен... Мол, типа, ты будешь использовать всякие функции и прочие "вещицы" из этого пространства... Очень удобная штука

после подключения библиотек можно дописать
C++
1
using namespace std;
- ты подключил это пространство...
тогда можно убрать все " std:: " и спокойно продолжать программировать!
VASSUV
MiThEoN
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 415
Записей в блоге: 2
Завершенные тесты: 1
17.04.2011, 17:07  [ТС]     что за точки #3
Цитата Сообщение от Mиxaил Посмотреть сообщение
::
Я не про эти точки, а про те кот. всречаются единожды

Файл в котором я нашел этот код, имел расширение atg
может чем то поможет
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
17.04.2011, 17:08     что за точки #4
Например, вот такие?
C++
1
 ("+" (.op=t_plus;.)|"-" (.op=t_minus;.)) NumExpr<s2,t2>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2011, 17:16     что за точки
Еще ссылки по теме:

Что означают точки в приведенной строке - Perl
Здравствуйте . подскажите что означают точки в этой строке if (($item eq &quot;.&quot;) || ($item eq &quot;..&quot;)) {next;}

Что значат две точки над х? - Дифференциальные уравнения
нигде не могу найти как решаются такого типа задания? {x}^{..}+4x=0 что значат две точки над х? Добавлено через 8 минут примеров...

Что такое папка с точки зрения программиста? - Assembler
Что такое файл? Это грубо говоря набор битов. Что такое папка? Это тоже набор битов, но специально упорядоченный. т.е. если создать...

что бы можно было в input вводить точки - JavaScript
Добрый день, я совершенно нуб в этой области... Есть форма с input, в которой запрещено все кроме положительных цифр вот такой записью: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
VASSUV
MiThEoN
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 415
Записей в блоге: 2
Завершенные тесты: 1
17.04.2011, 17:16  [ТС]     что за точки #5
Цитата Сообщение от VASSUV Посмотреть сообщение
(.op=t_times;.)
например вот такие (. ___ .)

Добавлено через 5 минут
и такие ).
или даже такие }.
Yandex
Объявления
17.04.2011, 17:16     что за точки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru