Changeset 538


Ignore:
Timestamp:
Aug 6, 2003, 1:28:26 PM (22 years ago)
Author:
bird
Message:

#483: Added statement linenumber.

Location:
trunk/src/emx
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/sys/moddef.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r537 r538  
    9797} _md_error;
    9898
    99 typedef union
     99typedef struct
    100100{
    101   struct
    102     {
    103       _md_error code;
    104       _md_token stmt;
    105     } error;                    /* Error */
    106   struct
    107     {
    108       unsigned long addr;
    109     } base;                     /* BASE */
    110   struct
    111     {
    112       char string[256];
    113     } descr;                    /* DESCRIPTION */
    114   struct
    115     {
    116       char name[256];
    117     } device;                   /* PHYSICAL DEVICE and VIRTUAL DEVICE */
    118   struct
    119     {
    120       int type;
    121       int minor_version;
    122       int major_version;
    123     } exetype;                  /* EXETYPE */
    124   struct
    125     {
    126       char entryname[256];
    127       char internalname[256];
    128       int ordinal;
    129       int pwords;
    130       unsigned flags;
    131     } export;                   /* EXPORTS */
    132   struct
    133     {
    134       char entryname[256];
    135       char internalname[256];
    136       char modulename[256];
    137       int ordinal;
    138       unsigned flags;
    139     } import;                   /* IMPORTS */
    140   struct
    141     {
    142       unsigned long size;
    143       int maxval;
    144     } heapsize;                 /* HEAPSIZE */
    145   struct
    146     {
    147       char name[256];
    148       int init;
    149       int term;
    150     } library;                  /* LIBRARY */
    151   struct
    152     {
    153       char name[256];
    154       int pmtype;
    155       int newfiles;
    156     } name;                     /* NAME */
    157   struct
    158     {
    159       char name[256];
    160     } old;                      /* OLD */
    161   struct
    162     {
    163       char segname[256];
    164       char classname[256];
    165       unsigned attr;
    166     } segment;                  /* SEGMENTS, CODE, DATA */
    167   struct
    168     {
    169       unsigned long size;
    170     } stacksize;                /* STACKSIZE */
    171   struct
    172     {
    173       char name[256];
    174       int none;
    175     } stub;                     /* STUB */
     101  unsigned  line_number;                /* Linenumber of the statement. */
     102  union
     103  {
     104    struct
     105      {
     106        _md_error code;
     107        _md_token stmt;
     108      } error;                    /* Error */
     109    struct
     110      {
     111        unsigned long addr;
     112      } base;                     /* BASE */
     113    struct
     114      {
     115        char string[256];
     116      } descr;                    /* DESCRIPTION */
     117    struct
     118      {
     119        char name[256];
     120      } device;                   /* PHYSICAL DEVICE and VIRTUAL DEVICE */
     121    struct
     122      {
     123        int type;
     124        int minor_version;
     125        int major_version;
     126      } exetype;                  /* EXETYPE */
     127    struct
     128      {
     129        char entryname[256];
     130        char internalname[256];
     131        int ordinal;
     132        int pwords;
     133        unsigned flags;
     134      } export;                   /* EXPORTS */
     135    struct
     136      {
     137        char entryname[256];
     138        char internalname[256];
     139        char modulename[256];
     140        int ordinal;
     141        unsigned flags;
     142      } import;                   /* IMPORTS */
     143    struct
     144      {
     145        unsigned long size;
     146        int maxval;
     147      } heapsize;                 /* HEAPSIZE */
     148    struct
     149      {
     150        char name[256];
     151        int init;
     152        int term;
     153      } library;                  /* LIBRARY */
     154    struct
     155      {
     156        char name[256];
     157        int pmtype;
     158        int newfiles;
     159      } name;                     /* NAME */
     160    struct
     161      {
     162        char name[256];
     163      } old;                      /* OLD */
     164    struct
     165      {
     166        char segname[256];
     167        char classname[256];
     168        unsigned attr;
     169      } segment;                  /* SEGMENTS, CODE, DATA */
     170    struct
     171      {
     172        unsigned long size;
     173      } stacksize;                /* STACKSIZE */
     174    struct
     175      {
     176        char name[256];
     177        int none;
     178      } stub;                     /* STUB */
     179  }; /* nameless */
    176180} _md_stmt;
    177181
  • trunk/src/emx/src/lib/moddef/moddef2.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r537 r538  
    7171  token = _md_get_token (md);
    7272  stmt_token = token;
     73  stmt.line_number = _md_get_linenumber (md);
    7374  switch (stmt_token)
    7475    {
     
    7879
    7980    case _MD_NAME:
     81      stmt.line_number = _md_get_linenumber (md);
    8082      token = _md_next_token (md);
    8183      stmt.name.name[0] = 0;
     
    114116
    115117    case _MD_LIBRARY:
     118      stmt.line_number = _md_get_linenumber (md);
    116119      token = _md_next_token (md);
    117120      if (token == _MD_quote || token == _MD_word)
     
    156159    case _MD_VIRTUAL:
    157160    case _MD_PHYSICAL:
     161      stmt.line_number = _md_get_linenumber (md);
    158162      token = _md_next_token (md);
    159163      if (token != _MD_DEVICE)
     
    178182    {
    179183      stmt_token = token;
     184      stmt.line_number = _md_get_linenumber (md);
    180185      switch (stmt_token)
    181186        {
     
    187192          if (token != _MD_number)
    188193            ERROR (_MDE_NUMBER_EXPECTED);
    189           stmt.base.addr = _md_get_number (md);
    190194          token = _md_next_token (md);
    191195          CALLBACK;
     
    372376          while (token == _MD_quote || token == _MD_word)
    373377            {
     378              stmt.line_number = _md_get_linenumber (md);
    374379              stmt.export.ordinal = 0;
    375380              stmt.export.pwords = 0;
     
    447452          while (token == _MD_quote || token == _MD_word)
    448453            {
     454              stmt.line_number = _md_get_linenumber (md);
    449455              _strncpy (stmt.import.modulename, _md_get_string (md),
    450456                        sizeof (stmt.import.modulename));
     
    506512          while (token == _MD_quote || token == _MD_word)
    507513            {
     514              stmt.line_number = _md_get_linenumber (md);
    508515              _strncpy (stmt.segment.segname, _md_get_string (md),
    509516                        sizeof (stmt.segment.segname));
  • trunk/src/emx/src/libmoddef/moddef2.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r537 r538  
    7171  token = _md_get_token (md);
    7272  stmt_token = token;
     73  stmt.line_number = _md_get_linenumber (md);
    7374  switch (stmt_token)
    7475    {
     
    7879
    7980    case _MD_NAME:
     81      stmt.line_number = _md_get_linenumber (md);
    8082      token = _md_next_token (md);
    8183      stmt.name.name[0] = 0;
     
    114116
    115117    case _MD_LIBRARY:
     118      stmt.line_number = _md_get_linenumber (md);
    116119      token = _md_next_token (md);
    117120      if (token == _MD_quote || token == _MD_word)
     
    156159    case _MD_VIRTUAL:
    157160    case _MD_PHYSICAL:
     161      stmt.line_number = _md_get_linenumber (md);
    158162      token = _md_next_token (md);
    159163      if (token != _MD_DEVICE)
     
    178182    {
    179183      stmt_token = token;
     184      stmt.line_number = _md_get_linenumber (md);
    180185      switch (stmt_token)
    181186        {
     
    187192          if (token != _MD_number)
    188193            ERROR (_MDE_NUMBER_EXPECTED);
    189           stmt.base.addr = _md_get_number (md);
    190194          token = _md_next_token (md);
    191195          CALLBACK;
     
    372376          while (token == _MD_quote || token == _MD_word)
    373377            {
     378              stmt.line_number = _md_get_linenumber (md);
    374379              stmt.export.ordinal = 0;
    375380              stmt.export.pwords = 0;
     
    447452          while (token == _MD_quote || token == _MD_word)
    448453            {
     454              stmt.line_number = _md_get_linenumber (md);
    449455              _strncpy (stmt.import.modulename, _md_get_string (md),
    450456                        sizeof (stmt.import.modulename));
     
    506512          while (token == _MD_quote || token == _MD_word)
    507513            {
     514              stmt.line_number = _md_get_linenumber (md);
    508515              _strncpy (stmt.segment.segname, _md_get_string (md),
    509516                        sizeof (stmt.segment.segname));
Note: See TracChangeset for help on using the changeset viewer.