/* Unchanged JS */ function animateIt(t){var e=document.getElementById(t),n=0,a=setInterval(function(){n<100?(e.style.left=e.style.top=n+"px",n++):clearInterval(a)},10)}animateIt("box1");
/*
* For the `top` and `left` property to work, your element needs
* to have a `position: relative` or `absolute` or `fixed`
*/
#box1 { position: relative; }
First Box
Больше информации здесь: https://developer.mozilla.org/en-US / документы / Web / CSS / топ
Проблема с
<command> := <expr>
| <id> = <expr>
это, когда Вы "видите" <id>
Вы не можете сказать, является ли это начало assignement (второе правило), или это"<factor>
". Вы будете только знать при чтении следующего маркера.
AFAIK ANTLR является LL (*) (и также может генерировать синтаксические анализаторы пакета крысы, если я не ошибаюсь), таким образом, он, вероятно, обработает этот grammare рассмотрение двух маркеров сразу.
Если бы можно играть с грамматикой, я предложил бы любому, добавляет ключевое слово для присвоения (например. let x = 8
) :
<command> := <expr>
| "let" <id> "=" <expr>
или используйте =
показать оценку:
<command> := "=" <expr>
| <id> "=" <expr>
Проблема состоит в том что грамматика:
<command> := <expr>
| <id> = <expr>
не взаимно-рекурсивная-процедура. Для рекурсивного достойного синтаксического анализатора необходимо будет определить нерекурсивный эквивалент.
шоу сообщения rdentato, как зафиксировать это, приняв Вас, могут играть с грамматикой. Этот powerpoint обстоятельно объясняет проблему в немного большем количестве деталей и показывает, как исправить его: http://www.google.com/url?sa=t&source=web&ct=res&cd=7&url=http%3A%2F%2Fxml.cs.nccu.edu.tw%2Fcourses%2Fcompiler%2Fcp2006%2Fslides%2Flec3-Parsing%26TopDownParsing.ppt&ei=-YLaSPrWGaPwhAK5ydCqBQ&usg=AFQjCNGAFrODJxoxkgJEwDMQ8A8594vn0Q&sig2=nlYKQVfakmqy_57137XzrQ
ANTLR 3 использует "LL (*)" синтаксический анализатор в противоположность LL (k) синтаксический анализатор, таким образом, он будет смотреть вперед, пока он не достигнет конца входа, если он имеет к, без отслеживания в обратном порядке, с помощью специально оптимизированных конечных автоматов determinstic (DFA).