1
0
forked from GitHub/gf-core

minibar.js: show the type error messages that can occur for grammars with dependent types

This commit is contained in:
hallgren
2010-10-18 12:15:30 +00:00
parent 423103c86c
commit dd7cd640ea

View File

@@ -349,35 +349,42 @@ function target_lang() {
} }
function show_translations(translationResults) { function show_translations(translationResults) {
var trans=element("translations"); var trans=element("translations");
var grammar=element("language_menu").grammar; var grammar=element("language_menu").grammar;
var to=target_lang(); var to=target_lang();
var cnt=translationResults.length; var cnt=translationResults.length;
//trans.translations=translations; //trans.translations=translations;
trans.single_translation=[]; trans.single_translation=[];
trans.innerHTML=""; trans.innerHTML="";
trans.appendChild(wrap("h3",text(cnt<1 ? "No translations?" : /*
cnt>1 ? ""+cnt+" translations:": trans.appendChild(wrap("h3",text(cnt<1 ? "No translations?" :
"One translation:"))); cnt>1 ? ""+cnt+" translations:":
for(p=0;p<cnt;p++) { "One translation:")));
var tra=translationResults[p]; */
if (tra.translations != null) { for(p=0;p<cnt;p++) {
for (q = 0; q < tra.translations.length; q++) { var tra=translationResults[p];
var t = tra.translations[q]; if (tra.translations != null) {
var lin=t.linearizations; for (q = 0; q < tra.translations.length; q++) {
var tbody=empty("tbody"); var t = tra.translations[q];
if(options.show_abstract && t.tree) var lin=t.linearizations;
tbody.appendChild(tr([th(text("Abstract: ")), var tbody=empty("tbody");
tdt(abstree_button(t.tree),text(" "+t.tree))])); if(options.show_abstract && t.tree)
for(var i=0;i<lin.length;i++) tbody.appendChild(tr([th(text("Abstract: ")),
if(to=="-1" || lin[i].to==to) tdt(abstree_button(t.tree),text(" "+t.tree))]));
tbody.appendChild(tr([th(text(langpart(lin[i].to,grammar.name)+": ")), for(var i=0;i<lin.length;i++)
tdt(parsetree_button(t.tree,lin[i].to), if(to=="-1" || lin[i].to==to)
text(lin[i].text))])); tbody.appendChild(tr([th(text(langpart(lin[i].to,grammar.name)+": ")),
trans.appendChild(wrap("table",tbody)); tdt(parsetree_button(t.tree,lin[i].to),
} text(lin[i].text))]));
trans.appendChild(wrap("table",tbody));
}
}
else if(tra.typeErrors) {
var errs=tra.typeErrors;
for(var i=0;i<errs.length;i++)
trans.appendChild(wrap("pre",text(errs[i].msg)))
}
} }
}
} }
function show_groupedtranslations(translations) { function show_groupedtranslations(translations) {