Определение EvalOp находится в compcert.backend.SplitLongproof
:
Ltac EvalOp :=
eauto;
match goal with
| [ |- eval_exprlist _ _ _ _ _ Enil _ ] => constructor
| [ |- eval_exprlist _ _ _ _ _ (_:::_) _ ] => econstructor; EvalOp
| [ |- eval_expr _ _ _ _ _ (Eletvar _) _ ] => constructor; simpl; eauto
| [ |- eval_expr _ _ _ _ _ (Elet _ _) _ ] => econstructor; EvalOp
| [ |- eval_expr _ _ _ _ _ (lift _) _ ] => apply eval_lift; EvalOp
| [ |- eval_expr _ _ _ _ _ _ _ ] => eapply eval_Eop; [EvalOp | simpl; eauto]
| _ => idtac
end.
Что странно в этом определении, так это то, что coqdoc --html
распознает Eval
и Op
как два отдельных токена:
<span class="id" title="keyword">Eval</span><span class="id" title="var">Op</span>
Почему Coq допускает использование двух токенов без разделителей (пробелов) посередине? Или это баг coqdoc
? Спасибо за помощь!
<span class="id">EvalOp</span>
. - person Anton Trunov   schedule 27.03.2018coqdoc --html -q -R lib compcert.lib -R common compcert.common -R x86_64 compcert.x86_64 -R x86 compcert.x86 -R backend compcert.backend -R cfrontend compcert.cfrontend -R driver compcert.driver -R flocq compcert.flocq -R exportclight compcert.exportclight -R cparser compcert.cparser --vernac-file lib/*.v common/*.v x86_64/*.v x86/*.v backend/*.v cfrontend/*.v driver/*.v flocq/*.v exportclight/*.v cparser/*.v
Знаете ли вы, как компилируется официальная документация и почему эта ошибка возникает на моей машине? - person Jian Wang   schedule 27.03.2018coqdoc --html
. Я хотел бы попробовать решить проблему № 2366 (cd theories && coqdoc -toc -html -d html *.v
), но как это применимо к случаю, когда файлы v находятся в нескольких папках? Например, если я запущуcoqdoc
один раз для каждой папки в compcert, я думаю, я потеряю ссылки переменнойhref
для переменных, определенных в разных папках? - person Jian Wang   schedule 27.03.2018Eval
будучи общеупотребительным токеном, я думаю, что это просто какой-то инструмент в цепочке, который запутался в правильной токенизации. :-( - person Ptival   schedule 27.03.2018coqdoc
тот же парсер, что иcoqc
? Если да, тоcoqc
безопасен в этом случае? - person Jian Wang   schedule 28.03.2018coqdoc
иcoqc
использовали разные синтаксические анализаторы. В любом случае, уcoqc
такой проблемы нет. - person Jason Gross   schedule 10.05.2018