📄 wnparse.tab.c
字号:
break;
case 18:
#line 117 "wnparse.y"
{ (yyval.s)=NULL; ;}
break;
case 19:
#line 119 "wnparse.y"
{
wdcnt++;
(yyval.s) = AddSynonym((yyvsp[-1].s), CreateSynonym((yyvsp[0].sym),
(unsigned char)wsense,
(headword ? -wdcnt : wdcnt),
(unsigned char)aclass,
label));
headword = FALSE;
aclass = 0;
;}
break;
case 20:
#line 130 "wnparse.y"
{
wdcnt++;
(yyval.s) = AddSynonym((yyvsp[-2].s), CreateSynonym((yyvsp[-1].sym),
(unsigned char)wsense,
(headword ? -wdcnt : wdcnt),
(unsigned char)(yyvsp[0].number),
label));
headword = FALSE;
aclass = 0;
;}
break;
case 21:
#line 141 "wnparse.y"
{
yyerror("Error in synonym list, ");
if ((yyvsp[-1].s)) {
fprintf(logfile, "last good synonym: \"%s\"\n",
PrintSynonym(lastsyn));
} else if (!wdcnt) {
fprintf(logfile, "invalid string found\n");
} else {
fprintf(logfile,"first synonym group is bad\n");
}
(yyval.s) = (yyvsp[-1].s);
;}
break;
case 22:
#line 156 "wnparse.y"
{
aclass = (yyvsp[-2].number);
MakeSyngroup((yyvsp[-1].p), NULL);
(yyval.sym) = (yyvsp[-3].sym);
;}
break;
case 23:
#line 162 "wnparse.y"
{
aclass = (yyvsp[-3].number);
MakeSyngroup((yyvsp[-2].p), (yyvsp[-1].fr));
(yyval.sym) = (yyvsp[-4].sym);
;}
break;
case 24:
#line 168 "wnparse.y"
{
aclass = (yyvsp[-2].number);
MakeSyngroup(NULL, (yyvsp[-1].fr));
(yyval.sym) = (yyvsp[-3].sym);
;}
break;
case 25:
#line 176 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[0].tx)));
label = UseLabel((yyvsp[0].tx)); /* decide whether to save original string */
headword = FALSE;
wsense = 0;
;}
break;
case 26:
#line 183 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[-1].tx)));
label = UseLabel((yyvsp[-1].tx)); /* decide whether to save original string */
headword = FALSE;
wsense = (yyvsp[0].number);
if (wsense > MAXID) {
sprintf(buf, "ID must be less than 16: %s%d\n",
(yyval.sym)->label, wsense);
yyerror(buf);
}
;}
break;
case 27:
#line 195 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[0].tx)));
/* If file is adj.all, then label must be NULL. Otherwise, allow upper
case in synset since there's no head. */
if ( ! strcmp(filelist[curfilenum()].fname, "adj.all" ) ) {
label = NULL;
headword = TRUE;
} else {
label = UseLabel((yyvsp[0].tx));
headword = FALSE;
}
wsense = 0;
;}
break;
case 28:
#line 211 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[-1].tx)));
/* If file is adj.all, then label must be NULL. Otherwise, allow upper
case in synset since there's no head. */
if ( ! strcmp(filelist[curfilenum()].fname, "adj.all" ) ) {
label = NULL;
headword = TRUE;
} else {
label = UseLabel((yyvsp[-1].tx));
headword = FALSE;
}
wsense = (yyvsp[0].number);
if (wsense > MAXID) {
sprintf(buf, "ID must be less than 16: %s%d\n",
(yyval.sym)->label, wsense);
yyerror(buf);
}
;}
break;
case 29:
#line 233 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[0].tx)));
sense = 0;
satellite = NULL;
satellite_sense = 0;
headptr = FALSE;
fnbuf[0] = '\0';
;}
break;
case 30:
#line 242 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[-1].tx)));
sense = (yyvsp[0].number);
satellite = NULL;
satellite_sense = 0;
headptr = FALSE;
fnbuf[0] = '\0';
;}
break;
case 31:
#line 251 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[0].tx)));
sense = 0;
satellite = NULL;
satellite_sense = 0;
headptr = TRUE;
fnbuf[0] = '\0';
;}
break;
case 32:
#line 260 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[-1].tx)));
sense = (yyvsp[0].number);
satellite = NULL;
satellite_sense = 0;
headptr = TRUE;
fnbuf[0] = '\0';
;}
break;
case 33:
#line 269 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[0].tx)));
sense = 0;
satellite = NULL;
satellite_sense = 0;
headptr = FALSE;
strcpy(fnbuf, (yyvsp[-1].tx)); /* save filename for warning msg */
free((yyvsp[-1].tx)); /* free space malloc'd for string */
;}
break;
case 34:
#line 279 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[-1].tx)));
sense = (yyvsp[0].number);
satellite = NULL;
satellite_sense = 0;
headptr = FALSE;
strcpy(fnbuf, (yyvsp[-2].tx)); /* save filename for warning msg */
free((yyvsp[-2].tx)); /* free space malloc'd for string */
;}
break;
case 35:
#line 290 "wnparse.y"
{/* new ones start here */
(yyval.sym) = CreateSymbol(strlower((yyvsp[-2].tx)));
sense = 0;
satellite = CreateSymbol(strlower((yyvsp[0].tx)));
satellite_sense = 0;
headptr = FALSE;
strcpy(fnbuf, (yyvsp[-3].tx)); /* save filename for warning msg */
free((yyvsp[-3].tx)); /* free space malloc'd for string */
;}
break;
case 36:
#line 300 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[-3].tx)));
sense = (yyvsp[-2].number);
satellite = CreateSymbol(strlower((yyvsp[0].tx)));
satellite_sense = 0;
headptr = FALSE;
strcpy(fnbuf, (yyvsp[-4].tx)); /* save filename for warning msg */
free((yyvsp[-4].tx)); /* free space malloc'd for string */
;}
break;
case 37:
#line 310 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[-4].tx)));
sense = (yyvsp[-3].number);
satellite = CreateSymbol(strlower((yyvsp[-1].tx)));
satellite_sense = (yyvsp[0].number);
headptr = FALSE;
strcpy(fnbuf, (yyvsp[-5].tx)); /* save filename for warning msg */
free((yyvsp[-5].tx)); /* free space malloc'd for string */
;}
break;
case 38:
#line 320 "wnparse.y"
{
(yyval.sym) = CreateSymbol(strlower((yyvsp[-3].tx)));
sense = 0;
satellite = CreateSymbol(strlower((yyvsp[-1].tx)));
satellite_sense = (yyvsp[0].number);
headptr = FALSE;
strcpy(fnbuf, (yyvsp[-4].tx)); /* save filename for warning msg */
free((yyvsp[-4].tx)); /* free space malloc'd for string */
;}
break;
case 39:
#line 332 "wnparse.y"
{ (yyval.p) = DoPointer((yyvsp[-1].sym), (yyvsp[0].number)); ;}
break;
case 40:
#line 334 "wnparse.y"
{
if ((yyvsp[0].p)) {
(yyval.p) = AddPointer((yyvsp[-1].p), (yyvsp[0].p));
} else {
(yyval.p)=(yyvsp[-1].p);
}
;}
break;
case 41:
#line 342 "wnparse.y"
{ (yyval.p)=(yyvsp[0].p); ;}
break;
case 42:
#line 344 "wnparse.y"
{
Pointer p;
yyerror("Error in pointer list, ");
p = (yyvsp[-1].p);
if (p) {
for (; p->pnext; p = p->pnext); /* find end of list */
fprintf(logfile,
"last valid pointer: \"%s\"\n",
PrintPointer(p));
} else
fprintf(logfile,"first pointer in list is bad\n");
(yyval.p)=(yyvsp[-1].p);
;}
break;
case 43:
#line 361 "wnparse.y"
{ (yyval.tx) = NULL; ;}
break;
case 44:
#line 363 "wnparse.y"
{ (yyval.tx) = (yyvsp[0].tx); ;}
break;
case 45:
#line 367 "wnparse.y"
{ (yyval.number) = NULL; ;}
break;
case 46:
#line 369 "wnparse.y"
{ (yyval.number) = (yyvsp[0].number); ;}
break;
case 47:
#line 372 "wnparse.y"
{ (yyval.number)=0; ;}
break;
case 48:
#line 374 "wnparse.y"
{ (yyval.number)=(yyvsp[-1].number); ;}
break;
case 49:
#line 378 "wnparse.y"
{
if ((yyvsp[0].number) < 1 || (yyvsp[0].number) > NUMFRAMES) {
sprintf(buf, "Bad frame number: %d\n", (yyvsp[0].number));
yyerror(buf);
(yyval.fr) = CreateFramelist(0);
} else
(yyval.fr) = CreateFramelist((yyvsp[0].number));
;}
break;
case 50:
#line 387 "wnparse.y"
{
if ((yyvsp[0].number) < 1 || (yyvsp[0].number) > NUMFRAMES) {
sprintf(buf, "Bad frame number: %d\n", (yyvsp[0].number));
yyerror(buf);
(yyval.fr) = (yyvsp[-2].fr);
} else {
(yyvsp[-2].fr)->frames[((yyvsp[0].number)-1)/32] |= 1<<(((yyvsp[0].number) - 1) % 32);
(yyval.fr) = (yyvsp[-2].fr);
}
;}
break;
case 51:
#line 398 "wnparse.y"
{
yyerror("Error in frame list.\n");
(yyval.fr) = (yyvsp[-1].fr);
;}
break;
case 52:
#line 405 "wnparse.y"
{ cluscnt++; (yyval.ss) = (yyvsp[-1].ss); ;}
break;
case 53:
#line 407 "wnparse.y"
{
(yyval.ss)=NULL;
yyerror("Had trouble finding the beginning of this cluster\n");
yyerrok;
;}
break;
case 54:
#line 415 "wnparse.y"
{ (yyval.ss) = (yyvsp[0].ss); ;}
break;
case 55:
#line 417 "wnparse.y"
{ (yyval.ss) = (yyvsp[-2].ss); ;}
break;
case 56:
#line 421 "wnparse.y"
{
if ((yyvsp[-1].ss)) {
(yyvsp[-1].ss)->fans = (yyvsp[0].ss);
(yyvsp[-1].ss)->clusnum = cluscnt;
AddSynset((yyvsp[-1].ss));
}
(yyval.ss) = (yyvsp[-1].ss);
;}
break;
case 57:
#line 430 "wnparse.y"
{
(yyval.ss)=NULL;
yyerror("Can't find a head synset for this part of the cluster\n");
;}
break;
case 58:
#line 437 "wnparse.y"
{ (yyval.ss)=NULL; ;}
break;
case 59:
#line 439 "wnparse.y"
{ if ((yyvsp[-1].ss)) (yyvsp[-1].ss)->ssnext = (yyvsp[0].ss); (yyval.ss) = (yyvsp[-1].ss); ;}
break;
case 60:
#line 443 "wnparse.y"
{
if ((yyval.ss) = MakeSynset(SATELLITE, (yyvsp[-4].s), (yyvsp[-3].p), NULL, (yyvsp[-2].tx), (yyvsp[0].number))) {
(yyval.ss)->isfanss = TRUE;
(yyval.ss)->clusnum = cluscnt;
AddToSynList((yyval.ss)); /* need since AddSynset() not done */
}
;}
break;
case 61:
#line 451 "wnparse.y"
{
if ((yyval.ss) = MakeSynset(SATELLITE, (yyvsp[-3].s), NULL, NULL, (yyvsp[-2].tx), (yyvsp[0].number))) {
(yyval.ss)->isfanss = TRUE;
(yyval.ss)->clusnum = cluscnt;
AddToSynList((yyval.ss)); /* need since AddSynset() not done */
}
;}
break;
case 62:
#line 459 "wnparse.y"
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -