Syntax error unexpected string at end of statement

Ошибка Syntax error Expected: end of statement VBA Решение и ответ на вопрос 1557561

Obsidian2010

0 / 0 / 0

Регистрация: 25.09.2012

Сообщений: 21

1

20.10.2015, 21:43. Показов 8599. Ответов 7

Метки нет (Все метки)


Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Explicit
Sub main()
Dim a As Double, b As Double, s As Double, i As Byte
a = InputBox("a=", "ввод данных", "9")
b = InputBox("b=", "ввод данных", "5")
s = Площадь(a, b)
i = MsgBox("s=" + Format(s, "Fixed") + Chr(13) + "Работу выполнил Т.С.", , "Лабораторная работа №3")
End Sub
Function Площадь(n As Double, k As Double) As Double
Dim y As Double
y = Atn(n/k*Sqr(Abs(n-k)))*3^(n*k)/(Exp(-1/Tan(n))*Log(Abs(n-k)))
Площадь = y
End Function

Подскажите, в чём ошибка?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

20.10.2015, 21:43

Ответы с готовыми решениями:

Ошибка Statement expected but end of file found
помогите исправить ошибки,нужно написать тест но постоянно выползает ошибка Statement expected but…

Ошибка: project1.lpr(1,1) Fatal: Syntax error, «BEGIN» expected but «end of file» found
project1.lpr(1,1) Fatal: Syntax error, "BEGIN" expected but "end of file" found
выдает эту ошибку…

Ошибка: Syntax error, «BEGIN» expected but «end of file» found
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, Forms,…

Ошибка: syntax error, unexpected end of file, expecting end
ДВ! Помогите пожалуйста . нужно решение в Scilab.

Для любого целого k обозначим количество цифр…

7

15131 / 6405 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

20.10.2015, 21:49

2

Цитата
Сообщение от Obsidian2010
Посмотреть сообщение

Ошибка Syntax error Expected: end of statement

Нет ошибки, программа компилируется и работает со значениями по умолчанию.



0



0 / 0 / 0

Регистрация: 25.09.2012

Сообщений: 21

20.10.2015, 21:51

 [ТС]

3

а у меня прерывается программа, указывая на ошибку syntax error



0



15131 / 6405 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

20.10.2015, 22:02

4

Цитата
Сообщение от Obsidian2010
Посмотреть сообщение

а у меня прерывается программа, указывая на ошибку syntax error

Напишите хотя бы — в какой строке ошибка? В VBA какого приложения Вы работаете?



0



0 / 0 / 0

Регистрация: 25.09.2012

Сообщений: 21

20.10.2015, 22:42

 [ТС]

5

Цитата
Сообщение от Казанский
Посмотреть сообщение

Напишите хотя бы — в какой строке ошибка? В VBA какого приложения Вы работаете?

Function Площадь(n As Double, k As Double) As Double — в этой строке. А эту строку выделяет красным y = Atn(n/k*Sqr(Abs(n-k)))*3^(n*k)/(Exp(-1/Tan(n))*Log(Abs(n-k)))
в microsoft excel



0



15131 / 6405 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

20.10.2015, 22:55

6

Obsidian2010, м-да, чудеса Код 100% рабочий (в Excel 2007), попробуйте скопировать его из своего поста, вставить в новую книгу и запустить.
Или приложите файл с кодом.



0



0 / 0 / 0

Регистрация: 25.09.2012

Сообщений: 21

20.10.2015, 23:32

 [ТС]

7

http://rghost.ru/8FwjgRSBS
в новую книгу вставлял, не помогло



0



15131 / 6405 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

20.10.2015, 23:53

8

Obsidian2010, работает
Попробуйте что ли вместо этой навороченной формулы y = n * k

Миниатюры

Ошибка Syntax error Expected: end of statement
 



1



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

20.10.2015, 23:53

Помогаю со студенческими работами здесь

Ошибка «project1.lpr(35,0) Fatal: Syntax error, «BEGIN» expected but «end of file» found»
type
tarray= array of integer;
var
a:tarray;
m,s,k:integer;
procedure…

Ошибка «Syntax error, «BEGIN» expected but «end of file» found»
В чём заключается ошибка в 73 строке под названием "Syntax error, "BEGIN" expected but "end of…

Ошибка «Fatal: Syntax error, «BEGIN» expected but «END» found»
Ввожу
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil,…

Ошибка [Error] Unit5.pas(53): Statement expected but ‘PROCEDURE’ found
unit Unit5;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,…

Ошибка: Parse error: syntax error, unexpected end of file in
Данный код синтаксическую ошибку, как я понимаю, на последней строке.

Parse error: syntax error,…

Ошибка в форме обратной связи: Parse error: syntax error, unexpected $end
Всем здрасте!
сделал форму обратной связь:
<form action="fbsend.php" method="post">
<div…

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

Или воспользуйтесь поиском по форуму:

8

  • Юбилейный DevConfX пройдет 21-22 июня в Москве. Как всегда — Вы решаете, кто попадет в программу секции Backend — голосуйте за интересные доклады

  • Автор темы

    Mishcka

  • Дата начала

    2 Сен 2010

Статус
В этой теме нельзя размещать новые ответы.

  • #1

Ужаснейшая и очень грустная ошибка Parse error: syntax error, unexpected $end

Ужаснейшая и очень грустная ошибка Parse error: syntax error, unexpected $end

Превед, робяты! Возникла непредвиденная ошибка:
Parse error: syntax error, unexpected $end in /home/vhosts/plotnikova.com/wp-admin/includes/update.php on line 48.
Кто знает что за фигня?
Вот код:
<?php
$local_package = isset( $wp_local_package ) ? $wp_local_package : »;
?>

Adelf


  • #2

закрывающая фигурная скобка где-то забыта

zerkms


  • #5

Автор оригинала: Adelf
закрывающая фигурная скобка где-то забыта

Ага, только я не пойму где :)

Я гуглил сначала — не помогло, именно поэтому я обратился в этот форум.

Автор оригинала: zerkms
ну и phpfaq.ru/debug

На фиг мне отладчик — я знаю что за ошибка, но не в курсе как ее исправить :)

-~{}~ 02.09.10 07:26:

Я отредактировал сообщение и оставил в коде только строку с ошибкой.

Активист


  • #6

http://phpclub.ru/paste приведи весь код.

zerkms


  • #7

если ты знаешь что за ошибка, то почему не указал её в коде? в приведённой строке этой ошибки нет.

  • #8

Автор оригинала: zerkms
если ты знаешь что за ошибка, то почему не указал её в коде? в приведённой строке этой ошибки нет.

Но где-то там.

-~{}~ 02.09.10 08:39:

zerkms


  • #9

увы, но эта ошибка не из-за этой строки. моя ссылка про осмысление процесса отладки всё таки в силе. читай.

Активист


  • #10

Ошибки
> syntax error, unexpected $end
В приведенном тобой коде нет.

-~{}~ 02.09.10 14:05:

Скорее всего, твой файл тупо не залился по FTP полностью

-~{}~ 02.09.10 14:05:

Сравни размеры.

  • #11

Автор оригинала: Активист

Сравни размеры.

Заливал уже файл раз 5. Сравнил размеры — совпадают. Мракобесие :)

Фанат


  • #12

Mishcka
прямо на хосте отлаживай.
для таких ошибок подходит метод постепенного сокращения кода.
удаляешь блоки кода до тех пор, пока ошибка не станет видна

c0dex


  • #13

Mishcka
Для таких как ты, сделали подсветку ошибок в IDE, ты в чем пишешь код?

  • #14

Автор оригинала: c0dex
Mishcka
Для таких как ты, сделали подсветку ошибок в IDE, ты в чем пишешь код?

У меня есть подсветка в Rapid PHP 2010.
Я подсчитал количество открывающих и закрывающих фигурных и обычных скобок — количества совпадают.

-~{}~ 02.09.10 16:08:

Автор оригинала: *****
Mishcka
прямо на хосте отлаживай.
для таких ошибок подходит метод постепенного сокращения кода.
удаляешь блоки кода до тех пор, пока ошибка не станет видна

Ага, я уже удалил все строки из этого файла, он занимает 0 байт, НО ошибка осталась и по-прежнему на 48-й строке, похоже пора отдохнуть и пить успокаивающее :)

  • #15

обячная хрень, отлаживаешь одно, а работает другое.
там часом никаких акселераторов нет, которые могли бы закешировать код?

  • #16

Автор оригинала: dimagolov
обячная хрень, отлаживаешь одно, а работает другое.
там часом никаких акселераторов нет, которые могли бы закешировать код?

Не знаю что это и не знаю как узнать стоит или нет.

c0dex


  • #17

dimagolov
Вот уж не думал, что человек, добравшийся до уставновки какого-нибудь акселератора, стал бы писать тут такое.

Mishcka
Подсветка ошибок есть красным цветом?

  • #18

еще в опере есть свойство, что если сервер отдает пустую страницу(в том числе и с кодом 500), либо вообще не резолвится, то она упорно показывает предыдущий успешный результат — т.е. страницу с текстом ошибки, если только не было передано no-cache.

  • #19

обычно такая фигня когда заливаешь файл в рабочую систему, то есть пока файл копируется кто-то к нему обратился, к недокаченному

Активист


  • #20

berkut
Засунул в IDE, ошибок не обнаружил, но apache отдал 500 ошибку, Undefied Function в контенте, FireFox показал 500 ошибку))

Скорее в этои и есть проблема, юзай Firefox =)

Статус
В этой теме нельзя размещать новые ответы.

Если программа на PHP написана синтаксически некорректно, то интерпретатор выводит на экран соответствующее сообщение, а также указание на файл и строчку в нём, где по его мнению произошла ошибка. Синтаксическая ошибка возникает в том случае, когда код был записан с нарушением грамматических правил. В человеческих языках грамматика важна, но текст с ошибками чаще всего можно понять и прочитать. В программировании всё строго. Любое мельчайшее нарушение — и программа даже не запустится. Примером может быть забытая ;, неправильно расставленные скобки и другие детали.

Вот пример кода с синтаксической ошибкой:

<?php

print_r('Hodor')

Если запустить код выше, то мы увидим следующее сообщение: $ PHP Parse error: syntax error, unexpected end of file in /private/var/tmp/index.php on line 4. Подобные синтаксические ошибки в PHP относятся к разряду «Parse error». Как видно, в конце приводится путь до файла и номер строчки.

С одной стороны, ошибки «Parse error» — самые простые, потому что они связаны исключительно с грамматическими правилами написания кода, а не с самим смыслом кода. Их легко исправить: нужно лишь найти нарушение в записи.

С другой стороны, интерпретатор не всегда может чётко указать на это нарушение. Поэтому бывает, что забытую скобку нужно поставить не туда, куда указывает сообщение об ошибке.

Задание

Это задание не связано с уроком напрямую. Но будет полезным потренироваться с выводом на экран.

Выведите на экран What Is Dead May Never Die.

Упражнение не проходит проверку — что делать? 😶

Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:

  • Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.

В моей среде код работает, а здесь нет 🤨

Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.

Мой код отличается от решения учителя 🤔

Это нормально 🙆, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.

В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.

Прочитал урок — ничего не понятно 🙄

Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.

Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.

Определения

  • Синтаксическая ошибка — нарушение грамматических правил языка программирования.

  • Parse error (ошибка парсинга) — тип ошибок в PHP, возникающих при наличии синтаксических ошибок в коде.

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics

Моя ошибка:

Parse error: syntax error, unexpected end of file in the line

 Мой код:

<html>

    <?php

        function login() {

            // код функции логина

        }

        if (login())

    {?>

    <h2>Добро пожаловать, администратор</h2>

    <a href=»upload.php»>Загрузка файлов</a>

    <br />

    <a href=»points.php»>Редактирование подсчета очков </a>

    <?php}

        Else {

            echo «Недопустимый логин. Попробуйте еще раз»;

        }

    ?>

    Некоторый HTML код

</html>

В чем проблема?

Ответ 1

Вам следует избегать этого (в конце вашего кода):

{?>

или этого:

<?php}

Не следует ставить скобки непосредственно рядом с php тегом открытия/закрытия и разделять его пробелом:

{ ?>

<?php {

также избегайте ”<?” и используйте “<?php”

Ответ 2

У меня была такая же ошибка, но я исправил ее, изменив файл php.ini. Откройте его в своем любимом редакторе.

Найдите свойство short_open_tag и примените следующее изменение:

; short_open_tag = Off ; предыдущее значение

short_open_tag = On ; новое значение

Ответ 3

Есть два разных метода обойти ошибки синтаксического анализа.

Метод 1 (ваш файл PHP)

Избегайте в вашем файле PHP этого:

<? } ?>

Убедитесь, что вы поставили это так:

<?php ?>

Ваш код содержит ”<? ?>”

ПРИМЕЧАНИЕ: Отсутствует php после ”<?!”

Метод 2 (файл php.ini)

Также есть простой способ решить вашу проблему. Найдите значение свойства short_open_tag (откройте в текстовом редакторе с помощью Ctrl + F!) И примените следующее изменение:

; short_open_tag = Off

Замените на:

short_open_tag = On

Согласно описанию основных директив php.ini, short_open_tag  позволяет использовать короткий открытый тег ( <?), хотя это может вызвать проблемы при использовании с xml ( ”<?xml” не будет работать, если он активен)!

Ответ 4

Обратите внимание на закрывающие идентификаторы heredoc.

Неверный пример:

// Это не работает!!!

function findAll() {

    $query=<<<SQL

        SELECT * FROM `table_1`;

    SQL; // <——— Здесь ошибка

    // …

}

Это вызовет исключение, подобное следующему:

<br />

<b>Parse error</b>:  syntax error, unexpected end of file in <b>[…][…]</b> on line <b>5</b><br />

где цифра 5 может быть номером последней строки вашего файла.

Согласно руководству по php:

Предупреждение: Очень важно отметить, что строка с закрывающим идентификатором не должна содержать никаких других символов, кроме точки с запятой (;). Это, в частности, означает, что идентификатор не может иметь отступа, а также не должно быть никаких пробелов или табуляции до или после точки с запятой. Также важно понимать, что первый символ перед закрывающим идентификатором должен быть новой строкой, как это определено локальной операционной системой. Это n в системах UNIX, включая macOS. Закрывающий разделитель также должен сопровождаться новой строкой.

TL ; DR : закрывающие идентификаторы НЕ должны иметь отступ.

Работающий пример:

function findAll() {

    $query=<<<SQL

        SELECT * FROM `table_1`;

SQL;

    // закрывающий идентификатор не должен иметь отступ, хотя это может выглядеть некрасиво

    // …

}

Ответ 5

Я обнаружил несколько ошибок, которые исправил ниже.

Вот, что я получил в итоге:

if (login())

{?>

<h2> Добро пожаловать, администратор </h2>

<a href=»upload.php»> Загрузка файлов </a>

<br />

<a href=»points.php»> Редактирование подсчета очков </a>

<?php}

else {

echo » Недопустимый логин. Попробуйте еще раз «;

}

Вот, как бы я это сделал:

<html>

    Некоторый код

<?php

function login(){

    if (empty ($_POST[‘username’])) {

        return false;

    }

    if (empty ($_POST[‘password’])) {

        return false;

    }

    $username = trim ($_POST[‘username’]);

    $password = trim ($_POST[‘password’]);

    $scrambled = md5 ($password . ‘foo’);

    $link = mysqli_connect(‘localhost’, ‘root’, ‘password’);

    if (!$link) {

        $error = «Невозможно подключиться к серверу базы данных «;

        include ‘error.html.php’;

        exit ();

    }

    if (!mysqli_set_charset ($link, ‘utf8’)) {

        $error = «Невозможно установить кодировку подключения к базе данных «;

        include ‘error.html.php’;

        exit ();

    }

    if (!mysqli_select_db ($link, ‘foo’)) {

        $error = «Невозможно найти базу данных foo «;

        include ‘error.html.php’;

        exit ();

    }

    $sql = «SELECT COUNT(*) FROM admin WHERE username = ‘$username’ AND password = ‘$scrambled'»;

    $result = mysqli_query ($link, $sql);

    if (!$result) {

        return false;

        exit ();

    }

    $row = mysqli_fetch_array ($result);

    if ($row[0] > 0) {

        return true;

    } else {

        return false;

    }

}

if (login()) {

echo ‘<h2> Добро пожаловать, администратор </h2>

<a href=»upload.php»> Загрузка файлов </a>

<br />

<a href=»points.php»> Редактирование подсчета очков </a>’;

} else {

    echo » Недопустимый логин. Попробуйте еще раз «;

}

?>

Некоторый HTML код 

</html>

Понравилась статья? Поделить с друзьями:
  • Syntax error unexpected parseop zero
  • Syntax error unexpected main expecting
  • Syntax error unexpected integer number
  • Syntax error unexpected expecting как исправить
  • Syntax error unexpected expecting yii