Yattm - unified GTK instant-messaging client | |
[Generated for version 0.2-17 - Mon Jan 6 19:01:23 GMT+1 2003] |
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "globals.h"
#include "account.h"
#include "value_pair.h"
#include "service.h"
#include "util.h"
Include dependency graph for account_parser.c:
Go to the source code of this file.
Data Structures | |
union | yyalloc |
union | yystype |
Defines | |
#define | YYBISON 1 |
#define | yyparse accountparse |
#define | yylex accountlex |
#define | yyerror accounterror |
#define | yylval accountlval |
#define | yychar accountchar |
#define | yydebug accountdebug |
#define | yynerrs accountnerrs |
#define | ACCOUNT 257 |
#define | END_ACCOUNT 258 |
#define | IDENTIFIER 259 |
#define | STRING 260 |
#define | accounterror(error) printf("Parse error on line %d: %s\n", Line, error ); |
#define | YYSTYPE yystype |
#define | YYSTYPE_IS_TRIVIAL 1 |
#define | YYDEBUG 0 |
#define | YYFINAL 21 |
#define | YYFLAG -32768 |
#define | YYNTBASE 10 |
#define | YYTRANSLATE(x) ((unsigned)(x) <= 260 ? yytranslate[x] : 16) |
#define | YYLAST 17 |
#define | YYSTACK_ALLOC malloc |
#define | YYSTACK_FREE free |
#define | YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) |
#define | YYSTACK_BYTES(N) |
#define | YYCOPY(To, From, Count) |
#define | YYSTACK_RELOCATE(Stack) |
#define | YYSIZE_T unsigned int |
#define | yyerrok (yyerrstatus = 0) |
#define | yyclearin (yychar = YYEMPTY) |
#define | YYEMPTY -2 |
#define | YYEOF 0 |
#define | YYACCEPT goto yyacceptlab |
#define | YYABORT goto yyabortlab |
#define | YYERROR goto yyerrlab1 |
#define | YYFAIL goto yyerrlab |
#define | YYRECOVERING() (!!yyerrstatus) |
#define | YYBACKUP(Token, Value) |
#define | YYTERROR 1 |
#define | YYERRCODE 256 |
#define | YYLLOC_DEFAULT(Current, Rhs, N) |
#define | YYLEX yylex () |
#define | YYDPRINTF(Args) |
#define | YYINITDEPTH 200 |
#define | YYMAXDEPTH 10000 |
#define | YYPARSE_PARAM_ARG |
#define | YYPARSE_PARAM_DECL |
#define | YY_DECL_NON_LSP_VARIABLES |
#define | YY_DECL_VARIABLES YY_DECL_NON_LSP_VARIABLES |
#define | YYPOPSTACK (yyvsp--, yyssp--) |
Functions | |
void | save_account_info (char *service, GList *pairs) |
int | accountlex () |
YY_DECL_VARIABLES int | yyparse (YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL |
Variables | |
int | Line |
const char | yytranslate [] |
const short | yyr1 [] |
const short | yyr2 [] |
const short | yydefact [] |
const short | yydefgoto [] |
const short | yypact [] |
const short | yypgoto [] |
const short | yytable [] |
const short | yycheck [] |
|
Definition at line 13 of file account_parser.c. |
|
Definition at line 33 of file account_parser.c. |
|
Definition at line 14 of file account_parser.c. |
|
Definition at line 15 of file account_parser.c. |
|
Definition at line 16 of file account_parser.c. |
|
Value: \ int yychar; \ \ \ YYSTYPE yylval; \ \ \ int yynerrs; Definition at line 529 of file account_parser.c. |
|
Definition at line 546 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 340 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 339 of file account_parser.c. Referenced by yyparse(). |
|
Value: do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yychar1 = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ yyerror ("syntax error: cannot back up"); \ YYERROR; \ } \ while (0) Definition at line 347 of file account_parser.c. |
|
Definition at line 4 of file account_parser.c. |
|
Definition at line 10 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 336 of file account_parser.c. |
|
Value: do \ { \ register YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (0) Definition at line 289 of file account_parser.c. |
|
Definition at line 49 of file account_parser.c. |
|
Definition at line 11 of file account_parser.c. |
|
Definition at line 420 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 337 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 338 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 365 of file account_parser.c. |
|
Definition at line 335 of file account_parser.c. |
|
Definition at line 341 of file account_parser.c. |
|
Definition at line 8 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 345 of file account_parser.c. |
|
Definition at line 54 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 55 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 425 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 167 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 399 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 7 of file account_parser.c. |
|
Value: Current.last_line = Rhs[N].last_line; \ Current.last_column = Rhs[N].last_column; Definition at line 376 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 9 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 440 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 12 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 56 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 6 of file account_parser.c. |
|
Definition at line 513 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 514 of file account_parser.c. Referenced by yyparse(). |
|
|
|
Definition at line 346 of file account_parser.c. |
|
Definition at line 332 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 247 of file account_parser.c. Referenced by yyparse(). |
|
Value: ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAX) Definition at line 277 of file account_parser.c. |
|
Definition at line 248 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 268 of file account_parser.c. |
|
Value: do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) Definition at line 305 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 45 of file account_parser.c. |
|
Definition at line 46 of file account_parser.c. |
|
Definition at line 364 of file account_parser.c. Referenced by yyparse(). |
|
Definition at line 59 of file account_parser.c. Referenced by yyparse(). |
|
|
|
Definition at line 1178 of file prefs.c.
01179 { 01180 char buff[256]; 01181 char *val = value_pair_get_value(pairs, "SCREEN_NAME"); 01182 g_snprintf(buff, 256, "%s:%s", service, val); 01183 g_free(val); 01184 SetPref(buff, pairs); 01185 } |
|
Definition at line 558 of file account_parser.c. References YYSTYPE::acnt, DBG_CORE, eb_debug, get_service_id(), _value_pair::key, save_account_info(), local_account::service_id, YYSTYPE::string, unescape_string(), YYSTYPE::val, YYSTYPE::vals, _value_pair::value, YY_DECL_VARIABLES, YYABORT, YYACCEPT, yychar, yycheck, yydefact, yydefgoto, YYDPRINTF, YYEMPTY, YYEOF, yyerror, YYFINAL, YYFLAG, YYINITDEPTH, YYLAST, YYLEX, YYLLOC_DEFAULT, yylval, YYMAXDEPTH, yynerrs, YYNTBASE, yypact, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL, yypgoto, yyr1, yyr2, YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE, YYSTACK_RELOCATE, yytable, YYTERROR, and YYTRANSLATE.
00560 { 00561 /* If reentrant, generate the variables here. */ 00562 #if YYPURE 00563 YY_DECL_VARIABLES 00564 #endif /* !YYPURE */ 00565 00566 register int yystate; 00567 register int yyn; 00568 int yyresult; 00569 /* Number of tokens to shift before error messages enabled. */ 00570 int yyerrstatus; 00571 /* Lookahead token as an internal (translated) token number. */ 00572 int yychar1 = 0; 00573 00574 /* Three stacks and their tools: 00575 `yyss': related to states, 00576 `yyvs': related to semantic values, 00577 `yyls': related to locations. 00578 00579 Refer to the stacks thru separate pointers, to allow yyoverflow 00580 to reallocate them elsewhere. */ 00581 00582 /* The state stack. */ 00583 short yyssa[YYINITDEPTH]; 00584 short *yyss = yyssa; 00585 register short *yyssp; 00586 00587 /* The semantic value stack. */ 00588 YYSTYPE yyvsa[YYINITDEPTH]; 00589 YYSTYPE *yyvs = yyvsa; 00590 register YYSTYPE *yyvsp; 00591 00592 #if YYLSP_NEEDED 00593 /* The location stack. */ 00594 YYLTYPE yylsa[YYINITDEPTH]; 00595 YYLTYPE *yyls = yylsa; 00596 YYLTYPE *yylsp; 00597 #endif 00598 00599 #if YYLSP_NEEDED 00600 # define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) 00601 #else 00602 # define YYPOPSTACK (yyvsp--, yyssp--) 00603 #endif 00604 00605 YYSIZE_T yystacksize = YYINITDEPTH; 00606 00607 00608 /* The variables used to return semantic value and location from the 00609 action routines. */ 00610 YYSTYPE yyval; 00611 #if YYLSP_NEEDED 00612 YYLTYPE yyloc; 00613 #endif 00614 00615 /* When reducing, the number of symbols on the RHS of the reduced 00616 rule. */ 00617 int yylen; 00618 00619 YYDPRINTF ((stderr, "Starting parse\n")); 00620 00621 yystate = 0; 00622 yyerrstatus = 0; 00623 yynerrs = 0; 00624 yychar = YYEMPTY; /* Cause a token to be read. */ 00625 00626 /* Initialize stack pointers. 00627 Waste one element of value and location stack 00628 so that they stay on the same level as the state stack. 00629 The wasted elements are never initialized. */ 00630 00631 yyssp = yyss; 00632 yyvsp = yyvs; 00633 #if YYLSP_NEEDED 00634 yylsp = yyls; 00635 #endif 00636 goto yysetstate; 00637 00638 /*------------------------------------------------------------. 00639 | yynewstate -- Push a new state, which is found in yystate. | 00640 `------------------------------------------------------------*/ 00641 yynewstate: 00642 /* In all cases, when you get here, the value and location stacks 00643 have just been pushed. so pushing a state here evens the stacks. 00644 */ 00645 yyssp++; 00646 00647 yysetstate: 00648 *yyssp = yystate; 00649 00650 if (yyssp >= yyss + yystacksize - 1) 00651 { 00652 /* Get the current used size of the three stacks, in elements. */ 00653 YYSIZE_T yysize = yyssp - yyss + 1; 00654 00655 #ifdef yyoverflow 00656 { 00657 /* Give user a chance to reallocate the stack. Use copies of 00658 these so that the &'s don't force the real ones into 00659 memory. */ 00660 YYSTYPE *yyvs1 = yyvs; 00661 short *yyss1 = yyss; 00662 00663 /* Each stack pointer address is followed by the size of the 00664 data in use in that stack, in bytes. */ 00665 # if YYLSP_NEEDED 00666 YYLTYPE *yyls1 = yyls; 00667 /* This used to be a conditional around just the two extra args, 00668 but that might be undefined if yyoverflow is a macro. */ 00669 yyoverflow ("parser stack overflow", 00670 &yyss1, yysize * sizeof (*yyssp), 00671 &yyvs1, yysize * sizeof (*yyvsp), 00672 &yyls1, yysize * sizeof (*yylsp), 00673 &yystacksize); 00674 yyls = yyls1; 00675 # else 00676 yyoverflow ("parser stack overflow", 00677 &yyss1, yysize * sizeof (*yyssp), 00678 &yyvs1, yysize * sizeof (*yyvsp), 00679 &yystacksize); 00680 # endif 00681 yyss = yyss1; 00682 yyvs = yyvs1; 00683 } 00684 #else /* no yyoverflow */ 00685 # ifndef YYSTACK_RELOCATE 00686 goto yyoverflowlab; 00687 # else 00688 /* Extend the stack our own way. */ 00689 if (yystacksize >= YYMAXDEPTH) 00690 goto yyoverflowlab; 00691 yystacksize *= 2; 00692 if (yystacksize > YYMAXDEPTH) 00693 yystacksize = YYMAXDEPTH; 00694 00695 { 00696 short *yyss1 = yyss; 00697 union yyalloc *yyptr = 00698 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 00699 if (! yyptr) 00700 goto yyoverflowlab; 00701 YYSTACK_RELOCATE (yyss); 00702 YYSTACK_RELOCATE (yyvs); 00703 # if YYLSP_NEEDED 00704 YYSTACK_RELOCATE (yyls); 00705 # endif 00706 # undef YYSTACK_RELOCATE 00707 if (yyss1 != yyssa) 00708 YYSTACK_FREE (yyss1); 00709 } 00710 # endif 00711 #endif /* no yyoverflow */ 00712 00713 yyssp = yyss + yysize - 1; 00714 yyvsp = yyvs + yysize - 1; 00715 #if YYLSP_NEEDED 00716 yylsp = yyls + yysize - 1; 00717 #endif 00718 00719 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 00720 (unsigned long int) yystacksize)); 00721 00722 if (yyssp >= yyss + yystacksize - 1) 00723 YYABORT; 00724 } 00725 00726 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 00727 00728 goto yybackup; 00729 00730 00731 /*-----------. 00732 | yybackup. | 00733 `-----------*/ 00734 yybackup: 00735 00736 /* Do appropriate processing given the current state. */ 00737 /* Read a lookahead token if we need one and don't already have one. */ 00738 /* yyresume: */ 00739 00740 /* First try to decide what to do without reference to lookahead token. */ 00741 00742 yyn = yypact[yystate]; 00743 if (yyn == YYFLAG) 00744 goto yydefault; 00745 00746 /* Not known => get a lookahead token if don't already have one. */ 00747 00748 /* yychar is either YYEMPTY or YYEOF 00749 or a valid token in external form. */ 00750 00751 if (yychar == YYEMPTY) 00752 { 00753 YYDPRINTF ((stderr, "Reading a token: ")); 00754 yychar = YYLEX; 00755 } 00756 00757 /* Convert token to internal form (in yychar1) for indexing tables with */ 00758 00759 if (yychar <= 0) /* This means end of input. */ 00760 { 00761 yychar1 = 0; 00762 yychar = YYEOF; /* Don't call YYLEX any more */ 00763 00764 YYDPRINTF ((stderr, "Now at end of input.\n")); 00765 } 00766 else 00767 { 00768 yychar1 = YYTRANSLATE (yychar); 00769 00770 #if YYDEBUG 00771 /* We have to keep this `#if YYDEBUG', since we use variables 00772 which are defined only if `YYDEBUG' is set. */ 00773 if (yydebug) 00774 { 00775 YYFPRINTF (stderr, "Next token is %d (%s", 00776 yychar, yytname[yychar1]); 00777 /* Give the individual parser a way to print the precise 00778 meaning of a token, for further debugging info. */ 00779 # ifdef YYPRINT 00780 YYPRINT (stderr, yychar, yylval); 00781 # endif 00782 YYFPRINTF (stderr, ")\n"); 00783 } 00784 #endif 00785 } 00786 00787 yyn += yychar1; 00788 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) 00789 goto yydefault; 00790 00791 yyn = yytable[yyn]; 00792 00793 /* yyn is what to do for this token type in this state. 00794 Negative => reduce, -yyn is rule number. 00795 Positive => shift, yyn is new state. 00796 New state is final state => don't bother to shift, 00797 just return success. 00798 0, or most negative number => error. */ 00799 00800 if (yyn < 0) 00801 { 00802 if (yyn == YYFLAG) 00803 goto yyerrlab; 00804 yyn = -yyn; 00805 goto yyreduce; 00806 } 00807 else if (yyn == 0) 00808 goto yyerrlab; 00809 00810 if (yyn == YYFINAL) 00811 YYACCEPT; 00812 00813 /* Shift the lookahead token. */ 00814 YYDPRINTF ((stderr, "Shifting token %d (%s), ", 00815 yychar, yytname[yychar1])); 00816 00817 /* Discard the token being shifted unless it is eof. */ 00818 if (yychar != YYEOF) 00819 yychar = YYEMPTY; 00820 00821 *++yyvsp = yylval; 00822 #if YYLSP_NEEDED 00823 *++yylsp = yylloc; 00824 #endif 00825 00826 /* Count tokens shifted since error; after three, turn off error 00827 status. */ 00828 if (yyerrstatus) 00829 yyerrstatus--; 00830 00831 yystate = yyn; 00832 goto yynewstate; 00833 00834 00835 /*-----------------------------------------------------------. 00836 | yydefault -- do the default action for the current state. | 00837 `-----------------------------------------------------------*/ 00838 yydefault: 00839 yyn = yydefact[yystate]; 00840 if (yyn == 0) 00841 goto yyerrlab; 00842 goto yyreduce; 00843 00844 00845 /*-----------------------------. 00846 | yyreduce -- Do a reduction. | 00847 `-----------------------------*/ 00848 yyreduce: 00849 /* yyn is the number of a rule to reduce with. */ 00850 yylen = yyr2[yyn]; 00851 00852 /* If YYLEN is nonzero, implement the default value of the action: 00853 `$$ = $1'. 00854 00855 Otherwise, the following line sets YYVAL to the semantic value of 00856 the lookahead token. This behavior is undocumented and Bison 00857 users should not rely upon it. Assigning to YYVAL 00858 unconditionally makes the parser a bit smaller, and it avoids a 00859 GCC warning that YYVAL may be used uninitialized. */ 00860 yyval = yyvsp[1-yylen]; 00861 00862 #if YYLSP_NEEDED 00863 /* Similarly for the default location. Let the user run additional 00864 commands if for instance locations are ranges. */ 00865 yyloc = yylsp[1-yylen]; 00866 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); 00867 #endif 00868 00869 #if YYDEBUG 00870 /* We have to keep this `#if YYDEBUG', since we use variables which 00871 are defined only if `YYDEBUG' is set. */ 00872 if (yydebug) 00873 { 00874 int yyi; 00875 00876 YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", 00877 yyn, yyrline[yyn]); 00878 00879 /* Print the symbols being reduced, and their result. */ 00880 for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++) 00881 YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); 00882 YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); 00883 } 00884 #endif 00885 00886 switch (yyn) { 00887 00888 case 1: 00889 #line 38 "account_parser.y" 00890 { accounts = yyvsp[0].vals; } 00891 break; 00892 case 2: 00893 #line 43 "account_parser.y" 00894 { 00895 if(yyvsp[-1].acnt) { 00896 yyval.vals = g_list_append( yyvsp[0].vals, yyvsp[-1].acnt ); 00897 eb_debug(DBG_CORE, "Adding account %s\n", yyvsp[-1].acnt->handle); 00898 } else { 00899 yyval.vals=yyvsp[0].vals; 00900 eb_debug(DBG_CORE, "Not adding NULL account\n"); 00901 } 00902 } 00903 break; 00904 case 3: 00905 #line 52 "account_parser.y" 00906 { yyval.vals = 0; } 00907 break; 00908 case 4: 00909 #line 58 "account_parser.y" 00910 { 00911 { 00912 int id = get_service_id(yyvsp[-5].string); 00913 00914 eb_debug(DBG_CORE, "calling read_local_account_config for %s[%i]\n", yyvsp[-5].string, id); 00915 yyval.acnt = eb_services[id].sc->read_local_account_config(yyvsp[-3].vals); 00916 eb_debug(DBG_CORE, "read_local_account_config returned: %p\n", yyval.acnt); 00917 if(yyval.acnt) { 00918 yyval.acnt->service_id = id; 00919 /*eb_services[id].sc->login($$);*/ 00920 } 00921 else { 00922 g_warning("Failed to create %s account", yyvsp[-5].string); 00923 } 00924 save_account_info(yyvsp[-5].string, yyvsp[-3].vals); 00925 /* value_pair_free($5); */ 00926 g_free(yyvsp[-5].string); 00927 } 00928 } 00929 break; 00930 case 5: 00931 #line 81 "account_parser.y" 00932 { yyval.vals = g_list_append( yyvsp[0].vals, yyvsp[-1].val ); } 00933 break; 00934 case 6: 00935 #line 82 "account_parser.y" 00936 { yyval.vals = 0; } 00937 break; 00938 case 7: 00939 #line 88 "account_parser.y" 00940 { 00941 { 00942 value_pair * vp = g_new0( value_pair, 1 ); 00943 char * value = unescape_string(yyvsp[0].string); 00944 strcpy( vp->key, yyvsp[-2].string ); 00945 strcpy( vp->value, value); 00946 00947 free(yyvsp[-2].string); 00948 free(yyvsp[0].string); 00949 free(value); 00950 yyval.val = vp; 00951 } 00952 } 00953 break; 00954 } 00955 00956 #line 705 "/usr/share/bison/bison.simple" 00957 00958 00959 yyvsp -= yylen; 00960 yyssp -= yylen; 00961 #if YYLSP_NEEDED 00962 yylsp -= yylen; 00963 #endif 00964 00965 #if YYDEBUG 00966 if (yydebug) 00967 { 00968 short *yyssp1 = yyss - 1; 00969 YYFPRINTF (stderr, "state stack now"); 00970 while (yyssp1 != yyssp) 00971 YYFPRINTF (stderr, " %d", *++yyssp1); 00972 YYFPRINTF (stderr, "\n"); 00973 } 00974 #endif 00975 00976 *++yyvsp = yyval; 00977 #if YYLSP_NEEDED 00978 *++yylsp = yyloc; 00979 #endif 00980 00981 /* Now `shift' the result of the reduction. Determine what state 00982 that goes to, based on the state we popped back to and the rule 00983 number reduced by. */ 00984 00985 yyn = yyr1[yyn]; 00986 00987 yystate = yypgoto[yyn - YYNTBASE] + *yyssp; 00988 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) 00989 yystate = yytable[yystate]; 00990 else 00991 yystate = yydefgoto[yyn - YYNTBASE]; 00992 00993 goto yynewstate; 00994 00995 00996 /*------------------------------------. 00997 | yyerrlab -- here on detecting error | 00998 `------------------------------------*/ 00999 yyerrlab: 01000 /* If not already recovering from an error, report this error. */ 01001 if (!yyerrstatus) 01002 { 01003 ++yynerrs; 01004 01005 #ifdef YYERROR_VERBOSE 01006 yyn = yypact[yystate]; 01007 01008 if (yyn > YYFLAG && yyn < YYLAST) 01009 { 01010 YYSIZE_T yysize = 0; 01011 char *yymsg; 01012 int yyx, yycount; 01013 01014 yycount = 0; 01015 /* Start YYX at -YYN if negative to avoid negative indexes in 01016 YYCHECK. */ 01017 for (yyx = yyn < 0 ? -yyn : 0; 01018 yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) 01019 if (yycheck[yyx + yyn] == yyx) 01020 yysize += yystrlen (yytname[yyx]) + 15, yycount++; 01021 yysize += yystrlen ("parse error, unexpected ") + 1; 01022 yysize += yystrlen (yytname[YYTRANSLATE (yychar)]); 01023 yymsg = (char *) YYSTACK_ALLOC (yysize); 01024 if (yymsg != 0) 01025 { 01026 char *yyp = yystpcpy (yymsg, "parse error, unexpected "); 01027 yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]); 01028 01029 if (yycount < 5) 01030 { 01031 yycount = 0; 01032 for (yyx = yyn < 0 ? -yyn : 0; 01033 yyx < (int) (sizeof (yytname) / sizeof (char *)); 01034 yyx++) 01035 if (yycheck[yyx + yyn] == yyx) 01036 { 01037 const char *yyq = ! yycount ? ", expecting " : " or "; 01038 yyp = yystpcpy (yyp, yyq); 01039 yyp = yystpcpy (yyp, yytname[yyx]); 01040 yycount++; 01041 } 01042 } 01043 yyerror (yymsg); 01044 YYSTACK_FREE (yymsg); 01045 } 01046 else 01047 yyerror ("parse error; also virtual memory exhausted"); 01048 } 01049 else 01050 #endif /* defined (YYERROR_VERBOSE) */ 01051 yyerror ("parse error"); 01052 } 01053 goto yyerrlab1; 01054 01055 01056 /*--------------------------------------------------. 01057 | yyerrlab1 -- error raised explicitly by an action | 01058 `--------------------------------------------------*/ 01059 yyerrlab1: 01060 if (yyerrstatus == 3) 01061 { 01062 /* If just tried and failed to reuse lookahead token after an 01063 error, discard it. */ 01064 01065 /* return failure if at end of input */ 01066 if (yychar == YYEOF) 01067 YYABORT; 01068 YYDPRINTF ((stderr, "Discarding token %d (%s).\n", 01069 yychar, yytname[yychar1])); 01070 yychar = YYEMPTY; 01071 } 01072 01073 /* Else will try to reuse lookahead token after shifting the error 01074 token. */ 01075 01076 yyerrstatus = 3; /* Each real token shifted decrements this */ 01077 01078 goto yyerrhandle; 01079 01080 01081 /*-------------------------------------------------------------------. 01082 | yyerrdefault -- current state does not do anything special for the | 01083 | error token. | 01084 `-------------------------------------------------------------------*/ 01085 yyerrdefault: 01086 #if 0 01087 /* This is wrong; only states that explicitly want error tokens 01088 should shift them. */ 01089 01090 /* If its default is to accept any token, ok. Otherwise pop it. */ 01091 yyn = yydefact[yystate]; 01092 if (yyn) 01093 goto yydefault; 01094 #endif 01095 01096 01097 /*---------------------------------------------------------------. 01098 | yyerrpop -- pop the current state because it cannot handle the | 01099 | error token | 01100 `---------------------------------------------------------------*/ 01101 yyerrpop: 01102 if (yyssp == yyss) 01103 YYABORT; 01104 yyvsp--; 01105 yystate = *--yyssp; 01106 #if YYLSP_NEEDED 01107 yylsp--; 01108 #endif 01109 01110 #if YYDEBUG 01111 if (yydebug) 01112 { 01113 short *yyssp1 = yyss - 1; 01114 YYFPRINTF (stderr, "Error: state stack now"); 01115 while (yyssp1 != yyssp) 01116 YYFPRINTF (stderr, " %d", *++yyssp1); 01117 YYFPRINTF (stderr, "\n"); 01118 } 01119 #endif 01120 01121 /*--------------. 01122 | yyerrhandle. | 01123 `--------------*/ 01124 yyerrhandle: 01125 yyn = yypact[yystate]; 01126 if (yyn == YYFLAG) 01127 goto yyerrdefault; 01128 01129 yyn += YYTERROR; 01130 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) 01131 goto yyerrdefault; 01132 01133 yyn = yytable[yyn]; 01134 if (yyn < 0) 01135 { 01136 if (yyn == YYFLAG) 01137 goto yyerrpop; 01138 yyn = -yyn; 01139 goto yyreduce; 01140 } 01141 else if (yyn == 0) 01142 goto yyerrpop; 01143 01144 if (yyn == YYFINAL) 01145 YYACCEPT; 01146 01147 YYDPRINTF ((stderr, "Shifting error token, ")); 01148 01149 *++yyvsp = yylval; 01150 #if YYLSP_NEEDED 01151 *++yylsp = yylloc; 01152 #endif 01153 01154 yystate = yyn; 01155 goto yynewstate; 01156 01157 01158 /*-------------------------------------. 01159 | yyacceptlab -- YYACCEPT comes here. | 01160 `-------------------------------------*/ 01161 yyacceptlab: 01162 yyresult = 0; 01163 goto yyreturn; 01164 01165 /*-----------------------------------. 01166 | yyabortlab -- YYABORT comes here. | 01167 `-----------------------------------*/ 01168 yyabortlab: 01169 yyresult = 1; 01170 goto yyreturn; 01171 01172 /*---------------------------------------------. 01173 | yyoverflowab -- parser overflow comes here. | 01174 `---------------------------------------------*/ 01175 yyoverflowlab: 01176 yyerror ("parser stack overflow"); 01177 yyresult = 2; 01178 /* Fall through. */ 01179 01180 yyreturn: 01181 #ifndef yyoverflow 01182 if (yyss != yyssa) 01183 YYSTACK_FREE (yyss); 01184 #endif 01185 return yyresult; 01186 } |
|
Definition at line 32 of file account_parser.c. |
|
Initial value: { 8, 7, 3, 11, 8, 5, 5, 9, 0, 7, 6, 4, 0, 8, 3, -1, -1, 11 } Definition at line 176 of file account_parser.c. Referenced by yyparse(). |
|
Initial value: { 8, 0, 1, 8, 3, 0, 2, 0, 8, 0, 0, 8, 6, 0, 0, 5, 7, 0, 4, 0, 0, 0 } Definition at line 142 of file account_parser.c. Referenced by yyparse(). |
|
Initial value: { 19, 2, 3, 10, 11, 4 } Definition at line 149 of file account_parser.c. Referenced by yyparse(). |
|
Initial value: { -6, -1,-32768, -6,-32768, 0,-32768, -4, 1, -2, 2, 1,-32768, 4, 7,-32768,-32768, 5,-32768, 8, 12,-32768 } Definition at line 154 of file account_parser.c. Referenced by yyparse(). |
|
Initial value: { -32768, 11,-32768, 6,-32768, -8 } Definition at line 161 of file account_parser.c. Referenced by yyparse(). |
|
Initial value: { 0, 10, 11, 11, 12, 13, 13, 14, 15 } Definition at line 128 of file account_parser.c. Referenced by yyparse(). |
|
Initial value: { 0, 1, 2, 1, 8, 2, 1, 3, 0 } Definition at line 134 of file account_parser.c. Referenced by yyparse(). |
|
Initial value: { 12, 1, 5, 12, 8, 7, 9, 13, 20, 14, 16, 17, 21, 18, 6, 0, 0, 15 } Definition at line 170 of file account_parser.c. Referenced by yyparse(). |
|
Initial value: { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 9, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 4, 5, 6 } Definition at line 62 of file account_parser.c. |