/[smarc]/smarc/src/spasm/main.c
ViewVC logotype

Diff of /smarc/src/spasm/main.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by misto, Fri Jan 3 11:26:07 2003 UTC revision 1.7 by batonik, Sat Jan 4 10:36:07 2003 UTC
# Line 19  Line 19 
19    
20  extern int      yydebug;  extern int      yydebug;
21  extern char     *yytext;  extern char     *yytext;
22    extern FILE     *yyin;
23    
24  int             numerLinii = 1;  int             numerLinii = 1;
25  int             numerInstrukcji = 0;  int             numerInstrukcji = 0;
26  int             daneOffset = 0;  int             daneOffset = 0;
27  char *          buforZnakowy = NULL;  char            *buforZnakowy = NULL;
28  int             wystapilBlad = 0;  int             wystapilBlad = 0;
29  int             aktualnaSekcja = 0;  int             aktualnaSekcja = 0;
30  int             wyrownanieAdresow = 0;  int             wyrownanieAdresow = 0;
# Line 103  int main (int argc, char **argv) Line 104  int main (int argc, char **argv)
104  {  {
105          int     opcja, status;          int     opcja, status;
106          char    *nazwaPlikuDanych, *nazwaPlikuRozkazow;          char    *nazwaPlikuDanych, *nazwaPlikuRozkazow;
         char    *nazwaPlikuZrodlowego = NULL;  
107          char    *nazwaPlikuWynikowego = NULL;          char    *nazwaPlikuWynikowego = NULL;
108          FILE    *plikBin, *binarkaSMARC = NULL;          FILE    *plikBin, *plikASM, *binarkaSMARC = NULL;
109    
110          while ((opcja = getopt(argc,argv,"hvo:qz")) != -1)          while ((opcja = getopt(argc,argv,"hvo:qz")) != -1)
111                  switch (opcja)                  switch (opcja)
# Line 126  int main (int argc, char **argv) Line 126  int main (int argc, char **argv)
126                          case '?':                          case '?':
127                          case 'h':                          case 'h':
128                                          printf(SPASM_POMOC);                                          printf(SPASM_POMOC);
129                                          exit(1);                                          return(1);
130                  }                  }
131    
132          if (optind < argc)          if (optind < argc)
133                  nazwaPlikuZrodlowego = argv[optind];          {
134                    if ((plikASM = fopen(argv[optind], "r")) == NULL)
135                    {
136                            fprintf(stderr, ERROR_PREFIX" could not open `%s'\n", argv[optind]);
137                            return(1);
138                    }
139                    yyin = plikASM;
140            }
141          else          else
142                  nazwaPlikuZrodlowego = SPASM_ZRODLO;          {
143                    printf(SPASM_POMOC);
144          freopen(nazwaPlikuZrodlowego, "r", stdin);                  return(1);
145            }
146    
147          Dopisz (&buforZnakowy, "");     //sama alokacja :)          Dopisz (&buforZnakowy, "");     //sama alokacja :)
148          sprintf(buforZnakowy, SPASM_DANE_PREFIKS"%d", getpid());          sprintf(buforZnakowy, SPASM_DANE_PREFIKS"%d", getpid());
# Line 156  int main (int argc, char **argv) Line 164  int main (int argc, char **argv)
164          if ((plikWynikowyDanych = fopen(nazwaPlikuDanych, "w+")))          if ((plikWynikowyDanych = fopen(nazwaPlikuDanych, "w+")))
165          {          {
166                  yyparse();                  yyparse();
167                    fclose(plikASM);
168                  wyrownanieAdresow = WORD_ALIGN;                  wyrownanieAdresow = WORD_ALIGN;
169                  DaneAlign(&wyrownanieAdresow);                  DaneAlign(&wyrownanieAdresow);
170          }          }

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26