Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22

Код с неверным case проходит компиляцию

12.08.2018, 19:30. Показов 2420. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
begin
  var x := 1;
  case x of; // <-- Разве должно компилироваться?
    1: Writeln(1);
    2: Writeln(2);
  end;
end.
Добавлено через 2 минуты
В FPC 3.0.0:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//fpc 3.0.0
 
program HelloWorld;
 
var
  x: integer;
 
begin
  x := 1;
  case x of;
    1: Writeln(1);
    2: Writeln(2);
  end;
end.
Выдаст:
source.pas(10,12) Error: Illegal expression
source.pas(11,5) Error: Constant Expression expected
source.pas(11,5) Fatal: Syntax error, ":" expected but "ordinal const" found
Error: /usr/bin/ppcx64 returned an error exitcode
1
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.08.2018, 19:30
Ответы с готовыми решениями:

Не проходит компиляцию простейший код
Здравствуйте. У меня есть программа Enlogic, для программирования ПЛК. В ней среди фукциональных блоков есть возможность написать скрипт...

Дерево, с неверным обходом
В общем, есть программа, в которую я добавил доп. функцию &quot;обхода в ширину&quot; и она работает неверно. Эта процедура выдает элементы не по...

Не проходит компиляцию, если возможно дайте переделанный код
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int a,b,c,d; cin&gt;&gt;a&gt;&gt;b&gt;&gt;c&gt;&gt;d; if (a==0 &amp;&amp; b==0) cout&lt;&lt; &quot;INF&quot; ; ...

21
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
12.08.2018, 19:34
Соколиный глаз, Убери точку с запятой после
Pascal
1
case x of;
Добавлено через 52 секунды
И все точно также откомпилируется.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
12.08.2018, 19:35  [ТС]
Puporev, если уберу - все хорошо. А цель моя была посмотреть как отреагирует компилятор PascalABC.Net на ;. Реакция FreePascal - адекватна (ожидаема), в то время как PascalABC.Net, что называется, проглотил как есть, но выдал кривое форматирование при попытке нажать Ctrl+Shift+F:
Pascal
1
2
3
4
5
6
begin
  var x := 1;
  case x of1: Writeln(1);
    2: Writeln(2);
  end;
end.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
12.08.2018, 19:36
Тогда я тебя и АВС.net не понял..
0
12.08.2018, 19:37  [ТС]

Не по теме:

Я вот последнее время подобные тему создаю (посвященные тестированию), надеюсь это кому-то поможет. И не будут натыкаться на эти проблемы. :)

0
 Аватар для kotAV
142 / 108 / 57
Регистрация: 15.09.2017
Сообщений: 425
12.08.2018, 19:37
Puporev, Оцените игру
0
12.08.2018, 19:38  [ТС]

Не по теме:

kotAV, игра называется "поймай баги компилятора". :D

0
12.08.2018, 19:42

Не по теме:

Соколиный глаз, скорее "используем восьмиклассников для поиска багов в нашей высокоclassной среде"

0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
12.08.2018, 19:43  [ТС]
С match-with та же проблема:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
uses System;
 
var
  X: array of integer;
 
begin
  SetLength(X, 1);
  match X with; // <--
    &Array(var a): Writeln('X является массивом');
    IEnumerable<integer>(var b): Writeln('X является IEnumerable<integer>');
  end;
end.
Хотя при выполнении программы - все хорошо (также и у case).
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
12.08.2018, 19:46
А вот такое не проходит.
Pascal
1
type zap=record;
1
 Аватар для kotAV
142 / 108 / 57
Регистрация: 15.09.2017
Сообщений: 425
12.08.2018, 19:51
Puporev, а такое проходит (пустой оператор называется, насколько я помню)
Pascal
1
2
3
4
5
6
7
8
begin;
  ;
  ;
  ;
  ;
  ;
  ;
;end.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
12.08.2018, 19:53
Ну такое проходит и в простом АВС и в Турбо Паскаль.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
12.08.2018, 20:07  [ТС]
kotAV, это синтаксически верный код.
1
12.08.2018, 20:10

Не по теме:

Соколиный глаз,

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
begin;var fl:=false;
      begin
      ;;;;;;;;    ;;;;;; begin;;;;;;
      ;;     ;;         ;;  ;;
      ;;begin;;      end;;  ;;begin
      ;;     ;;   ;;;;;;;;  ;;
      ;;;;;;;   ;;end   ;;    ;;;;
      ;;   end  ;;      ;;repeat  ;; 
 begin;;        ;;    ;;;;     end;;
 ;;   ;;until fl  ;;;;  ;;  ;;;;;
                  end
  
;end.

0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
12.08.2018, 20:12  [ТС]
kotAV, красота. Осталось понять для чего.

Добавлено через 18 секунд
Правда нечитабельно.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33187 / 21484 / 8232
Регистрация: 22.10.2011
Сообщений: 36,862
Записей в блоге: 12
12.08.2018, 22:10
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
это синтаксически верный код
Твой код с case-ом тоже синтаксически верный
1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
13.08.2018, 00:15  [ТС]
volvo, всмысле который с «;»? Если да, то это (для меня) шок - в справке ничего об этом ни сказано, и тут резко всплыло, то что так можно оказывается.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
14.08.2018, 23:07  [ТС]
volvo, сегодня посмотрел их GitHub. Появилась новая Issue. Что скажете?

Добавлено через 1 минуту

Не по теме:

Прекрасно, а мы это до них заметили. :)

0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
15.08.2018, 02:40
Соколиный глаз, там написано, что некорректное двоеточие не компилируется и поэтому не форматируется.

Добавлено через 18 минут

Не по теме:

Соколиный глаз, после публикации на хабре pascalabc.net без ошибок спать спокойно не даёт?

0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
15.08.2018, 11:03  [ТС]

Не по теме:

Joy, PascalABC.Net без ошибок? Где это Вы увидели? :D



Добавлено через 20 минут
Joy, в 3.4 (сборка 1744) на этот код:
Pascal
1
2
3
4
5
6
7
begin
  var x := 1;
  case x of; // <-- Облом, уже не канает. :D
    1: Writeln(1);
    2: Writeln(2);
  end;
end.
выдает:
Program2.pas(3) : Встречено ';', а ожидалось выражение
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.08.2018, 11:03
Помогаю со студенческими работами здесь

Не проходит компиляцию
Добрый вечер, форумчане! Необходимо реализовать функцию объединения двух списков, но так, чтобы в них не было одинаковых элементов. Идея...

Не проходит компиляцию функция
Раньше никогда не писала на VBA, только на С и С++. Сейчас задали написать пользовательскую функцию. Вроде все логично, но не работает....

Компиляцию проходит, но прога не запускается(
#include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;iomanip&gt; #define MIN_NEGATIVE_INT -2147483648//Максимальное отрицательное для int...

Почему не проходит компиляцию? выдает ошибку
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids,...

Программа проходит компиляцию, но не запускается
доброго времени суток. в адрессах 300h, 301h, 302h есть числа. программа должна их выровнять по убыванию. code segment assume...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru