LCOV - code coverage report
Current view: top level - src - parse_mdl.y (source / functions) Hit Total Coverage
Test: qucs-core-0.0.19 Code Coverage Lines: 0 159 0.0 %
Date: 2015-01-05 16:01:02 Functions: 0 1 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 8 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* -*-c++-*- */
       2                 :            : 
       3                 :            : %{
       4                 :            : /*
       5                 :            :  * parse_mdl.y - parser for an IC-CAP MDL data file
       6                 :            :  *
       7                 :            :  * Copyright (C) 2006 Stefan Jahn <stefan@lkcc.org>
       8                 :            :  *
       9                 :            :  * This is free software; you can redistribute it and/or modify
      10                 :            :  * it under the terms of the GNU General Public License as published by
      11                 :            :  * the Free Software Foundation; either version 2, or (at your option)
      12                 :            :  * any later version.
      13                 :            :  *
      14                 :            :  * This software is distributed in the hope that it will be useful,
      15                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      16                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      17                 :            :  * GNU General Public License for more details.
      18                 :            :  *
      19                 :            :  * You should have received a copy of the GNU General Public License
      20                 :            :  * along with this package; see the file COPYING.  If not, write to
      21                 :            :  * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
      22                 :            :  * Boston, MA 02110-1301, USA.
      23                 :            :  *
      24                 :            :  * $Id$
      25                 :            :  *
      26                 :            :  */
      27                 :            : 
      28                 :            : #if HAVE_CONFIG_H
      29                 :            : # include <config.h>
      30                 :            : #endif
      31                 :            : 
      32                 :            : #include <stdio.h>
      33                 :            : #include <stdlib.h>
      34                 :            : #include <string.h>
      35                 :            : #include <ctype.h>
      36                 :            : 
      37                 :            : #define YYERROR_VERBOSE 42
      38                 :            : #define YYDEBUG 1
      39                 :            : #define YYMAXDEPTH 1000000
      40                 :            : 
      41                 :            : #define __NOEXTENSIONS__ 1
      42                 :            : 
      43                 :            : #include "object.h"
      44                 :            : #include "complex.h"
      45                 :            : #include "vector.h"
      46                 :            : #include "check_mdl.h"
      47                 :            : 
      48                 :            : using namespace qucs;
      49                 :            : 
      50                 :            : %}
      51                 :            : 
      52                 :            : %name-prefix="mdl_"
      53                 :            : 
      54                 :            : %token LINK
      55                 :            : %token Identifier
      56                 :            : %token String
      57                 :            : %token InvalidCharacter
      58                 :            : %token Real
      59                 :            : %token t_LINK
      60                 :            : %token t_VIEW
      61                 :            : %token t_TABLE
      62                 :            : %token t_PSTABLE
      63                 :            : %token t_CNTABLE
      64                 :            : %token t_OPTIMEDIT
      65                 :            : %token t_BLKEDIT
      66                 :            : %token t_HYPTABLE
      67                 :            : %token t_ELEMENT
      68                 :            : %token t_DATA
      69                 :            : %token t_DATASET
      70                 :            : %token t_DATASIZE
      71                 :            : %token t_POINT
      72                 :            : %token t_MEMBER
      73                 :            : %token t_LIST
      74                 :            : %token t_PLOTOPTIMIZEROPT
      75                 :            : %token t_PLOTOPTIMIZERTRACESET
      76                 :            : %token t_PLOTOPTIMIZERTRACEREGSET
      77                 :            : %token t_PLOTOPTIMIZERTRACENATREGSET
      78                 :            : %token t_PLOTERROR
      79                 :            : %token t_TYPE
      80                 :            : %token t_CIRCUITDECK
      81                 :            : %token t_PARAM
      82                 :            : %token t_RANGE
      83                 :            : %token t_CONNPAIR
      84                 :            : %token t_CALDATA
      85                 :            : %token t_CALSET
      86                 :            : %token t_TERM
      87                 :            : %token t_APPLIC
      88                 :            : %token t_SUBAPP
      89                 :            : %token t_EDITSIZE
      90                 :            : %token t_PLOTSIZE
      91                 :            : %token t_OPTRANGE
      92                 :            : 
      93                 :            : %union {
      94                 :            :   char * ident;
      95                 :            :   double f;
      96                 :            :   struct mdl_point_t * point;
      97                 :            :   struct mdl_dataset_t * dset;
      98                 :            :   struct mdl_datasize_t * dsize;
      99                 :            :   struct mdl_link_t * link;
     100                 :            :   struct mdl_data_t * data;
     101                 :            :   struct mdl_dcontent_t * dcontent;
     102                 :            :   struct mdl_lcontent_t * lcontent;
     103                 :            :   struct mdl_element_t * element;
     104                 :            :   struct mdl_hyptable_t * hyptable;
     105                 :            :   struct mdl_table_t * table;
     106                 :            : }
     107                 :            : 
     108                 :            : %type <ident> Identifier t_LINK String TYPE_Line
     109                 :            : %type <point> POINT_Line PointList Point
     110                 :            : %type <f> Real
     111                 :            : %type <dset> DSContent DATASET_Definition
     112                 :            : %type <link> LINK_Definition LinkList
     113                 :            : %type <lcontent> LinkContent LinkContentList
     114                 :            : %type <dcontent> DataContent DataContentList
     115                 :            : %type <data> DATA_Definition
     116                 :            : %type <dsize> DATASIZE_Line
     117                 :            : %type <element> ELEMENT_Line HypTableContent HypTableContentList
     118                 :            : %type <element> TableContent TableContentList
     119                 :            : %type <hyptable> HYPTABLE_Definition
     120                 :            : %type <table> TABLE_Definition
     121                 :            : 
     122                 :            : %%
     123                 :            : 
     124                 :            : Input:
     125                 :            :   LinkList {
     126                 :          0 :     mdl_root = $1;
     127                 :            :   }
     128                 :            : ;
     129                 :            : 
     130                 :          0 : LinkList: /* nothing */ { $$ = NULL; }
     131                 :            :   | LINK_Definition LinkList {
     132                 :          0 :     $1->next = $2;
     133                 :          0 :     $$ = $1;
     134                 :            :   }
     135                 :            : ;
     136                 :            : 
     137                 :            : TableContent:
     138                 :            :   VIEW_Line {
     139                 :          0 :     $$ = NULL;
     140                 :            :   }
     141                 :            :   | ELEMENT_Line {
     142                 :          0 :     $$ = $1;
     143                 :            :   }
     144                 :            :   | TABLE_Definition {
     145                 :          0 :     $$ = NULL;
     146                 :            :   }
     147                 :            : ;
     148                 :            : 
     149                 :          0 : TableContentList: /* nothing */ { $$ = NULL; }
     150                 :            :   | TableContent TableContentList {
     151         [ #  # ]:          0 :     if ($1) {
     152                 :          0 :       $1->next = $2;
     153                 :          0 :       $$ = $1;
     154                 :            :     } else {
     155                 :          0 :       $$ = $2;
     156                 :            :     }
     157                 :            :   }
     158                 :            : ;
     159                 :            : 
     160                 :            : HypTableContent:
     161                 :            :   VIEW_Line {
     162                 :          0 :     $$ = NULL;
     163                 :            :   }
     164                 :            :   | ELEMENT_Line {
     165                 :          0 :     $$ = $1;
     166                 :            :   }
     167                 :            : ;
     168                 :            : 
     169                 :          0 : HypTableContentList: /* nothing */ { $$ = NULL; }
     170                 :            :   | HypTableContent HypTableContentList {
     171         [ #  # ]:          0 :     if ($1) {
     172                 :          0 :       $1->next = $2;
     173                 :          0 :       $$ = $1;
     174                 :            :     } else {
     175                 :          0 :       $$ = $2;
     176                 :            :     }
     177                 :            :   }
     178                 :            : ;
     179                 :            : 
     180                 :            : ConnTableContent:
     181                 :            :   CONNPAIR_Line
     182                 :            : ;
     183                 :            : 
     184                 :            : ConnTableContentList: /* nothing */ { }
     185                 :            :   | ConnTableContent ConnTableContentList {
     186                 :            :   }
     187                 :            : ;
     188                 :            : 
     189                 :            : OptEditContent:
     190                 :            :   VIEW_Line
     191                 :            :   | TABLE_Definition
     192                 :            : ;
     193                 :            : 
     194                 :            : OptEditContentList: /* nothing */ { }
     195                 :            :   | OptEditContent OptEditContentList {
     196                 :            :   }
     197                 :            : ;
     198                 :            : 
     199                 :            : LinkContent:
     200                 :            :   VIEW_Line {
     201                 :          0 :     $$ = NULL;
     202                 :            :   }
     203                 :            :   | APPLIC_Line {
     204                 :          0 :     $$ = NULL;
     205                 :            :   }
     206                 :            :   | SUBAPP_Line {
     207                 :          0 :     $$ = NULL;
     208                 :            :   }
     209                 :            :   | LIST_Line {
     210                 :          0 :     $$ = NULL;
     211                 :            :   }
     212                 :            :   | MEMBER_Line {
     213                 :          0 :     $$ = NULL;
     214                 :            :   }
     215                 :            :   | TABLE_Definition {
     216                 :          0 :     $$ = (struct mdl_lcontent_t *) calloc (sizeof (struct mdl_lcontent_t), 1);
     217                 :          0 :     $$->type = t_TABLE;
     218                 :          0 :     $$->table = $1;
     219                 :            :   }
     220                 :            :   | LINK_Definition {
     221                 :          0 :     $$ = (struct mdl_lcontent_t *) calloc (sizeof (struct mdl_lcontent_t), 1);
     222                 :          0 :     $$->type = t_LINK;
     223                 :          0 :     $$->link = $1;
     224                 :            :   }
     225                 :            :   | DATA_Definition {
     226                 :          0 :     $$ = (struct mdl_lcontent_t *) calloc (sizeof (struct mdl_lcontent_t), 1);
     227                 :          0 :     $$->type = t_DATA;
     228                 :          0 :     $$->data = $1;
     229                 :            :   }
     230                 :            : ;
     231                 :            : 
     232                 :          0 : LinkContentList: /* nothing */ { $$ = NULL; }
     233                 :            :   | LinkContent LinkContentList {
     234         [ #  # ]:          0 :     if ($1) {
     235                 :          0 :       $1->next = $2;
     236                 :          0 :       $$ = $1;
     237                 :            :     } else {
     238                 :          0 :       $$ = $2;
     239                 :            :     }
     240                 :            :   }
     241                 :            : ;
     242                 :            : 
     243                 :            : DataContent:
     244                 :            :   PLOTOPTIMIZEROPT_Line {
     245                 :          0 :     $$ = NULL;
     246                 :            :   }
     247                 :            :   | PLOTOPTIMIZERTRACESET_Line {
     248                 :          0 :     $$ = NULL;
     249                 :            :   }
     250                 :            :   | PLOTOPTIMIZERTRACEREGSET_Line {
     251                 :          0 :     $$ = NULL;
     252                 :            :   }
     253                 :            :   | PLOTOPTIMIZERTRACENATREGSET_Line {
     254                 :          0 :     $$ = NULL;
     255                 :            :   }
     256                 :            :   | PLOTERROR_Line {
     257                 :          0 :     $$ = NULL;
     258                 :            :   }
     259                 :            :   | EDITSIZE_Line {
     260                 :          0 :     $$ = NULL;
     261                 :            :   }
     262                 :            :   | PLOTSIZE_Line {
     263                 :          0 :     $$ = NULL;
     264                 :            :   }
     265                 :            :   | TABLE_Definition {
     266                 :          0 :     $$ = NULL;
     267                 :            :   }
     268                 :            :   | PSTABLE_Definition {
     269                 :          0 :     $$ = NULL;
     270                 :            :   }
     271                 :            :   | CNTABLE_Definition {
     272                 :          0 :     $$ = NULL;
     273                 :            :   }
     274                 :            :   | OPTIMEDIT_Definition {
     275                 :          0 :     $$ = NULL;
     276                 :            :   }
     277                 :            :   | CALSET_Definition {
     278                 :          0 :     $$ = NULL;
     279                 :            :   }
     280                 :            :   | HYPTABLE_Definition {
     281                 :          0 :     $$ = (struct mdl_dcontent_t *) calloc (sizeof (struct mdl_dcontent_t), 1);
     282                 :          0 :     $$->type = t_HYPTABLE;
     283                 :          0 :     $$->hyptable = $1;
     284                 :            :   }
     285                 :            :   | DATASET_Definition {
     286                 :          0 :     $$ = (struct mdl_dcontent_t *) calloc (sizeof (struct mdl_dcontent_t), 1);
     287                 :          0 :     $$->type = t_DATASET;
     288                 :          0 :     $$->data = $1;
     289                 :            :   }
     290                 :            :   | BLKEDIT_Definition {
     291                 :          0 :     $$ = NULL;
     292                 :            :   }
     293                 :            :   | CIRCUITDECK_Definition {
     294                 :          0 :     $$ = NULL;
     295                 :            :   }
     296                 :            : ;
     297                 :            : 
     298                 :          0 : DataContentList: /* nothing */ { $$ = NULL; }
     299                 :            :   | DataContent DataContentList {
     300         [ #  # ]:          0 :     if ($1) {
     301                 :          0 :       $1->next = $2;
     302                 :          0 :       $$ = $1;
     303                 :            :     } else {
     304                 :          0 :       $$ = $2;
     305                 :            :     }
     306                 :            :   }
     307                 :            : ;
     308                 :            : 
     309                 :            : PSContent:
     310                 :            :   PARAM_Line
     311                 :            :   | RANGE_Line
     312                 :            :   | OPTRANGE_Line
     313                 :            : ;
     314                 :            : 
     315                 :            : PSContentList: /* nothing */ { }
     316                 :            :   | PSContent PSContentList {
     317                 :            :   }
     318                 :            : ;
     319                 :            : 
     320                 :            : DSContent:
     321                 :            :   DATASIZE_Line TYPE_Line PointList {
     322                 :          0 :     $$ = (struct mdl_dataset_t *) calloc (sizeof (struct mdl_dataset_t), 1);
     323                 :          0 :     $$->dsize = $1;
     324                 :          0 :     $$->type1 = $2;
     325                 :          0 :     $$->data1 = $3;
     326                 :            :   }
     327                 :            :   | DATASIZE_Line TYPE_Line PointList TYPE_Line PointList {
     328                 :          0 :     $$ = (struct mdl_dataset_t *) calloc (sizeof (struct mdl_dataset_t), 1);
     329                 :          0 :     $$->dsize = $1;
     330                 :          0 :     $$->type1 = $2;
     331                 :          0 :     $$->data1 = $3;
     332                 :          0 :     $$->type2 = $4;
     333                 :          0 :     $$->data2 = $5;
     334                 :            :   }
     335                 :            : ;
     336                 :            : 
     337                 :            : Point:
     338                 :            :   POINT_Line
     339                 :            : ;
     340                 :            : 
     341                 :          0 : PointList: /* nothing */ { $$ = NULL; }
     342                 :            :   | Point PointList {
     343                 :          0 :     $1->next = $2;
     344                 :          0 :     $$ = $1;
     345                 :            :   }
     346                 :            : ;
     347                 :            : 
     348                 :            : ELEMENT_Line:
     349                 :            :   t_ELEMENT Real String String String {
     350                 :          0 :     $$ = (struct mdl_element_t *) calloc (sizeof (struct mdl_element_t), 1);
     351                 :          0 :     $$->number = (int) $2;
     352                 :          0 :     $$->name = $3;
     353                 :          0 :     $$->value = $4;
     354                 :          0 :     $$->attr = $5;
     355                 :            :   }
     356                 :            :   | t_ELEMENT Real String String {
     357                 :          0 :     $$ = (struct mdl_element_t *) calloc (sizeof (struct mdl_element_t), 1);
     358                 :          0 :     $$->number = (int) $2;
     359                 :          0 :     $$->name = $3;
     360                 :          0 :     $$->value = $4;
     361                 :            :   }
     362                 :            :   | t_ELEMENT String String {
     363                 :          0 :     $$ = (struct mdl_element_t *) calloc (sizeof (struct mdl_element_t), 1);
     364                 :          0 :     $$->name = $2;
     365                 :          0 :     $$->value = $3;
     366                 :            :   }
     367                 :            : ;
     368                 :            : 
     369                 :            : VIEW_Line:
     370                 :            :   t_VIEW Identifier Real String {
     371                 :          0 :     free ($2);
     372                 :          0 :     free ($4);
     373                 :            :   }
     374                 :            : ;
     375                 :            : 
     376                 :            : TABLE_Definition:
     377                 :            :   t_TABLE String '{' TableContentList '}' {
     378                 :          0 :     $$ = (struct mdl_table_t *) calloc (sizeof (struct mdl_table_t), 1);
     379                 :          0 :     $$->name = $2;
     380                 :          0 :     $$->data = $4;
     381                 :            :   }
     382                 :            :   | t_TABLE String Real '{' TableContentList '}' {
     383                 :          0 :     $$ = (struct mdl_table_t *) calloc (sizeof (struct mdl_table_t), 1);
     384                 :          0 :     $$->name = $2;
     385                 :          0 :     $$->data = $5;
     386                 :            :   }
     387                 :            :   | t_TABLE '{'  '}' {
     388                 :          0 :     $$ = (struct mdl_table_t *) calloc (sizeof (struct mdl_table_t), 1);
     389                 :            :   }
     390                 :            : ;
     391                 :            : 
     392                 :            : LINK_Definition:
     393                 :            :   LINK t_LINK String '{' LinkContentList '}' {
     394                 :          0 :     $$ = (struct mdl_link_t *) calloc (sizeof (struct mdl_link_t), 1);
     395                 :          0 :     $$->name = $3;
     396                 :          0 :     $$->type = $2;
     397                 :          0 :     $$->content = $5;
     398                 :            :   }
     399                 :            : ;
     400                 :            : 
     401                 :            : DATA_Definition:
     402                 :            :   t_DATA '{' DataContentList '}' {
     403                 :          0 :     $$ = (struct mdl_data_t *) calloc (sizeof (struct mdl_data_t), 1);
     404                 :          0 :     $$->content = $3;
     405                 :            :   }
     406                 :            : ;
     407                 :            : 
     408                 :            : PSTABLE_Definition:
     409                 :            :   t_PSTABLE String '{' PSContentList '}' {
     410                 :          0 :     free ($2);
     411                 :            :   }
     412                 :            : ;
     413                 :            : 
     414                 :            : CIRCUITDECK_Definition:
     415                 :            :   t_CIRCUITDECK '{' '}'
     416                 :            : ;
     417                 :            : 
     418                 :            : BLKEDIT_Definition:
     419                 :            :   t_BLKEDIT String '{' '}' {
     420                 :          0 :     free ($2);
     421                 :            :   }
     422                 :            : ;
     423                 :            : 
     424                 :            : CNTABLE_Definition:
     425                 :            :   t_CNTABLE String '{' ConnTableContentList '}' {
     426                 :          0 :     free ($2);
     427                 :            :   }
     428                 :            : ;
     429                 :            : 
     430                 :            : OPTIMEDIT_Definition:
     431                 :            :   t_OPTIMEDIT '{' OptEditContentList '}' {
     432                 :            :   }
     433                 :            : ;
     434                 :            : 
     435                 :            : CALSET_Definition:
     436                 :            :   t_CALSET String '{' CalSetContent '}' {
     437                 :          0 :     free ($2);
     438                 :            :   }
     439                 :            : ;
     440                 :            : 
     441                 :            : CalSetContent:
     442                 :            :   Identifier Real Identifier Real Identifier Real
     443                 :            :   CALDATA_Definition {
     444                 :            :   }
     445                 :            : ;
     446                 :            : 
     447                 :            : CALDATA_Definition:
     448                 :            :   t_CALDATA '{' CalDataContentList '}' {
     449                 :            :   }
     450                 :            : ;
     451                 :            : 
     452                 :            : CalDataContentList: /* nothing */ { }
     453                 :            :   | CalDataContent CalDataContentList {
     454                 :            :   }
     455                 :            : ;
     456                 :            : 
     457                 :            : CalDataContent:
     458                 :            :   TERM_Line PointList {
     459                 :            :   }
     460                 :            : ;
     461                 :            : 
     462                 :            : TERM_Line:
     463                 :            :   t_TERM Real {
     464                 :            :   }
     465                 :            : ;
     466                 :            : 
     467                 :            : APPLIC_Line:
     468                 :            :   t_APPLIC String Real Real Real {
     469                 :          0 :     free ($2);
     470                 :            :   }
     471                 :            : ;
     472                 :            : 
     473                 :            : SUBAPP_Line:
     474                 :            :   t_SUBAPP String Real {
     475                 :          0 :     free ($2);
     476                 :            :   }
     477                 :            : ;
     478                 :            : 
     479                 :            : HYPTABLE_Definition:
     480                 :            :   t_HYPTABLE String '{' HypTableContentList '}' {
     481                 :          0 :     $$ = (struct mdl_hyptable_t *) calloc (sizeof (struct mdl_hyptable_t), 1);
     482                 :          0 :     $$->name = $2;
     483                 :          0 :     $$->data = $4;
     484                 :            :   }
     485                 :            : ;
     486                 :            : 
     487                 :            : DATASET_Definition:
     488                 :            :   t_DATASET '{' DSContent '}' {
     489                 :          0 :     $$ = $3;
     490                 :            :   }
     491                 :            : ;
     492                 :            : 
     493                 :            : DATASIZE_Line:
     494                 :            :   t_DATASIZE Identifier Real Real Real {
     495                 :          0 :     $$ = (struct mdl_datasize_t *) calloc (sizeof (struct mdl_datasize_t), 1);
     496                 :          0 :     $$->type = $2;
     497                 :          0 :     $$->size = (int) $3;
     498                 :          0 :     $$->x = (int) $4;
     499                 :          0 :     $$->y = (int) $5;
     500                 :            :   }
     501                 :            : ;
     502                 :            : 
     503                 :            : TYPE_Line:
     504                 :            :   t_TYPE Identifier {
     505                 :          0 :     $$ = $2;
     506                 :            :   }
     507                 :            : ;
     508                 :            : 
     509                 :            : POINT_Line:
     510                 :            :   t_POINT Real Real Real Real Real {
     511                 :          0 :     $$ = (struct mdl_point_t *) calloc (sizeof (struct mdl_point_t), 1);
     512                 :          0 :     $$->n = (int) $2;
     513                 :          0 :     $$->x = (int) $3;
     514                 :          0 :     $$->y = (int) $4;
     515                 :          0 :     $$->r = $5;
     516                 :          0 :     $$->i = $6;
     517                 :            :   }
     518                 :            : ;
     519                 :            : 
     520                 :            : LIST_Line:
     521                 :            :   t_LIST t_LINK String {
     522                 :          0 :     free ($2);
     523                 :          0 :     free ($3);
     524                 :            :   }
     525                 :            : ;
     526                 :            : 
     527                 :            : PLOTOPTIMIZEROPT_Line:
     528                 :            :   t_PLOTOPTIMIZEROPT Identifier Real {
     529                 :          0 :     free ($2);
     530                 :            :   }
     531                 :            : ;
     532                 :            : 
     533                 :            : PLOTOPTIMIZERTRACESET_Line:
     534                 :            :   t_PLOTOPTIMIZERTRACESET String String String {
     535                 :          0 :     free ($2);
     536                 :          0 :     free ($3);
     537                 :          0 :     free ($4);
     538                 :            :   }
     539                 :            :   | t_PLOTOPTIMIZERTRACESET String String {
     540                 :          0 :     free ($2);
     541                 :          0 :     free ($3);
     542                 :            :   }
     543                 :            : ;
     544                 :            : 
     545                 :            : PLOTOPTIMIZERTRACEREGSET_Line:
     546                 :            :   t_PLOTOPTIMIZERTRACEREGSET String Real String String String String {
     547                 :          0 :     free ($2);
     548                 :          0 :     free ($4);
     549                 :          0 :     free ($5);
     550                 :          0 :     free ($6);
     551                 :          0 :     free ($7);
     552                 :            :   }
     553                 :            : ;
     554                 :            : 
     555                 :            : PLOTOPTIMIZERTRACENATREGSET_Line:
     556                 :            :   t_PLOTOPTIMIZERTRACENATREGSET String Real String String String String {
     557                 :          0 :     free ($2);
     558                 :          0 :     free ($4);
     559                 :          0 :     free ($5);
     560                 :          0 :     free ($6);
     561                 :          0 :     free ($7);
     562                 :            :   }
     563                 :            : ;
     564                 :            : 
     565                 :            : PLOTERROR_Line:
     566                 :            :   t_PLOTERROR Identifier Real {
     567                 :          0 :     free ($2);
     568                 :            :   }
     569                 :            : ;
     570                 :            : 
     571                 :            : EDITSIZE_Line:
     572                 :            :   t_EDITSIZE Real Real {
     573                 :            :   }
     574                 :            : ;
     575                 :            : 
     576                 :            : PLOTSIZE_Line:
     577                 :            :   t_PLOTSIZE Real Real {
     578                 :            :   }
     579                 :            : ;
     580                 :            : 
     581                 :            : MEMBER_Line:
     582                 :            :   t_MEMBER t_LINK String {
     583                 :          0 :     free ($2);
     584                 :          0 :     free ($3);
     585                 :            :   }
     586                 :            : ;
     587                 :            : 
     588                 :            : PARAM_Line:
     589                 :            :   t_PARAM Identifier String {
     590                 :          0 :     free ($2);
     591                 :          0 :     free ($3);
     592                 :            :   }
     593                 :            : ;
     594                 :            : 
     595                 :            : RANGE_Line:
     596                 :            :   t_RANGE Identifier String String {
     597                 :          0 :     free ($2);
     598                 :          0 :     free ($3);
     599                 :          0 :     free ($4);
     600                 :            :   }
     601                 :            : ;
     602                 :            : 
     603                 :            : OPTRANGE_Line:
     604                 :            :   t_OPTRANGE Identifier String String {
     605                 :          0 :     free ($2);
     606                 :          0 :     free ($3);
     607                 :          0 :     free ($4);
     608                 :            :   }
     609                 :            : ;
     610                 :            : 
     611                 :            : CONNPAIR_Line:
     612                 :            :   t_CONNPAIR String String {
     613                 :          0 :     free ($2);
     614                 :          0 :     free ($3);
     615                 :            :   }
     616                 :            : ;
     617                 :            : 
     618                 :            : %%
     619                 :            : 
     620                 :          0 : int mdl_error (const char * error) {
     621                 :          0 :   fprintf (stderr, "line %d: %s\n", mdl_lineno, error);
     622                 :          0 :   return 0;
     623                 :            : }

Generated by: LCOV version 1.11