Quel est le problème avec ce code?Quel est le problème avec ce code OCaml?
let vm_run vm =
let guard = ref true in
while !guard do
if vm.cur_pc = -1 && not (Stack.empty vm.call_stack) then vm_pop_ar vm
else if vm.cur_pc = -1 then guard := false
else if vm.cur_pc < Array.length vm.cur_code then
execute vm Array.get vm.cur_code vm.cur_pc;
vm.cur_pc <- vm.cur_pc + 1
else vm_pop_ar vm
done
erreur est Error: Syntax error
en rapport avec le dernier mot-clé else
.
J'ai atteint une bonne confiance avec OCaml mais une chaîne if/else me pose encore des problèmes ... ce n'est pas la première fois (la dernière fois que j'ai exploité flow pour éviter d'utiliser le mot-clé else).
Je pense qu'il est quelque chose de petit mais ont aucun indice, selon la spécification de la syntaxe, il devrait être ok
Merci, c'était difficile :) il a tenté d'analyser si le corps mettre fin à la avant la fin prévue de trouver le 'else' impairs .. chose idiote. Maintenant c'est clair! – Jack