parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Спокойно разбираемся

VictorSmirnov 10.02.2004 10:05

Пишем файл auto.p в точности так:
@main[]
<html>
	<head>
		<title>типа заголовок</title>
	</head>
	<body>
		^body_main[]
	</body>
</html>
В файл index.html пишем в точности:
@body_main[]
	Body main from index.html
По задумке должно работать. Если не работает, пишем мне на мыло описание ошибки.

Вернемся к вашим баранам. Вы приводили содержимое файла index.html:
<html><body>
^base[] 
@body_main[]
<SPAN class="main">
TEXT Из Индекса.
</span></body></html>
Ошибка:
Unhandled Exception (Debug)
j:/home/rusbbq2.ru/www/index.html(2:9): parse error,
expecting `$' exception.type=parser.compile
Видно, что ошибка во второй строке. Парсер не понимает, как нужно обрабатывать ваш файл. Вы начинаете его с html кода. Если в файле содержится только html код, то он и выдается пользователю. В этом случае все содержимое файла считается телом метода @main[]. Парсер не увидел вначале файла описание методов (навроде @имя_метода[]) и начал выдавать пользователю один в один то, что у вас написано. Дошел до второй строки и наткнулся на описание метода. И вот тут–то ему башню и снесло. Подумайте сами, что бы вы стали делать в этой ситуации? Парсер вам пишет, что здесь (по его мнению, мы находимся в теле метода main) нельзя описывать другие методы, но можно описывать переменные. Он предполагает, что вы собирались описать переменную и пишет, что вы перепутали и написали @ вместо $.

Мне трудно указать место в документации, где это написано. Но из документации понять это можно!

Надеюсь, я вам помог.

p.s. я осознано не высказываю свое отношение к рекомендациям искать в форуме и читать доку и вам тоже не рекомендую.