comparison src/oct-parse.yy @ 13250:f6bbdea030b2

use opt_sep instead of literal '\n' in parser rules for classdef * oct-parse.yy (class_def, class_body, properties_block, properties_list, methods_block, methods_list, events_block, events_list, enum_block, enum_list): Accept opt_sep instead of literal newline character.
author John W. Eaton <jwe@octave.org>
date Thu, 29 Sep 2011 14:16:58 -0400
parents 7861a5fd3479
children e48529b3dbd4
comparison
equal deleted inserted replaced
13249:7861a5fd3479 13250:f6bbdea030b2
1489 1489
1490 classdef1 : classdef_beg opt_attr_list identifier opt_superclasses 1490 classdef1 : classdef_beg opt_attr_list identifier opt_superclasses
1491 { $$ = 0; } 1491 { $$ = 0; }
1492 ; 1492 ;
1493 1493
1494 classdef : classdef1 '\n' class_body '\n' stash_comment classdef_end 1494 classdef : classdef1 opt_sep class_body opt_sep stash_comment classdef_end
1495 { $$ = 0; } 1495 { $$ = 0; }
1496 ; 1496 ;
1497 1497
1498 opt_attr_list : // empty 1498 opt_attr_list : // empty
1499 { $$ = 0; } 1499 { $$ = 0; }
1538 { $$ = 0; } 1538 { $$ = 0; }
1539 | events_block 1539 | events_block
1540 { $$ = 0; } 1540 { $$ = 0; }
1541 | enum_block 1541 | enum_block
1542 { $$ = 0; } 1542 { $$ = 0; }
1543 | class_body '\n' properties_block 1543 | class_body opt_sep properties_block
1544 { $$ = 0; } 1544 { $$ = 0; }
1545 | class_body '\n' methods_block 1545 | class_body opt_sep methods_block
1546 { $$ = 0; } 1546 { $$ = 0; }
1547 | class_body '\n' events_block 1547 | class_body opt_sep events_block
1548 { $$ = 0; } 1548 { $$ = 0; }
1549 | class_body '\n' enum_block 1549 | class_body opt_sep enum_block
1550 { $$ = 0; } 1550 { $$ = 0; }
1551 ; 1551 ;
1552 1552
1553 properties_beg : PROPERTIES stash_comment 1553 properties_beg : PROPERTIES stash_comment
1554 { $$ = 0; } 1554 { $$ = 0; }
1555 ; 1555 ;
1556 1556
1557 properties_block 1557 properties_block
1558 : properties_beg opt_attr_list '\n' properties_list '\n' END 1558 : properties_beg opt_attr_list opt_sep properties_list opt_sep END
1559 { $$ = 0; } 1559 { $$ = 0; }
1560 ; 1560 ;
1561 1561
1562 properties_list 1562 properties_list
1563 : class_property 1563 : class_property
1564 { $$ = 0; } 1564 { $$ = 0; }
1565 | properties_list '\n' class_property 1565 | properties_list opt_sep class_property
1566 { $$ = 0; } 1566 { $$ = 0; }
1567 ; 1567 ;
1568 1568
1569 class_property : identifier 1569 class_property : identifier
1570 { $$ = 0; } 1570 { $$ = 0; }
1574 1574
1575 methods_beg : METHODS stash_comment 1575 methods_beg : METHODS stash_comment
1576 { $$ = 0; } 1576 { $$ = 0; }
1577 ; 1577 ;
1578 1578
1579 methods_block : methods_beg opt_attr_list '\n' methods_list '\n' END 1579 methods_block : methods_beg opt_attr_list opt_sep methods_list opt_sep END
1580 { $$ = 0; } 1580 { $$ = 0; }
1581 ; 1581 ;
1582 1582
1583 methods_list : function 1583 methods_list : function
1584 { $$ = 0; } 1584 { $$ = 0; }
1585 | methods_list '\n' function 1585 | methods_list opt_sep function
1586 { $$ = 0; } 1586 { $$ = 0; }
1587 ; 1587 ;
1588 1588
1589 events_beg : EVENTS stash_comment 1589 events_beg : EVENTS stash_comment
1590 { $$ = 0; } 1590 { $$ = 0; }
1591 ; 1591 ;
1592 1592
1593 events_block : events_beg opt_attr_list '\n' events_list '\n' END 1593 events_block : events_beg opt_attr_list opt_sep events_list opt_sep END
1594 { $$ = 0; } 1594 { $$ = 0; }
1595 ; 1595 ;
1596 1596
1597 events_list : class_event 1597 events_list : class_event
1598 { $$ = 0; } 1598 { $$ = 0; }
1599 | events_list '\n' class_event 1599 | events_list opt_sep class_event
1600 { $$ = 0; } 1600 { $$ = 0; }
1601 ; 1601 ;
1602 1602
1603 class_event : identifier 1603 class_event : identifier
1604 { $$ = 0; } 1604 { $$ = 0; }
1606 1606
1607 enum_beg : ENUMERATION stash_comment 1607 enum_beg : ENUMERATION stash_comment
1608 { $$ = 0; } 1608 { $$ = 0; }
1609 ; 1609 ;
1610 1610
1611 enum_block : enum_beg opt_attr_list '\n' enum_list '\n' END 1611 enum_block : enum_beg opt_attr_list opt_sep enum_list opt_sep END
1612 { $$ = 0; } 1612 { $$ = 0; }
1613 ; 1613 ;
1614 1614
1615 enum_list : class_enum 1615 enum_list : class_enum
1616 { $$ = 0; } 1616 { $$ = 0; }
1617 | enum_list '\n' class_enum 1617 | enum_list opt_sep class_enum
1618 { $$ = 0; } 1618 { $$ = 0; }
1619 ; 1619 ;
1620 1620
1621 class_enum : identifier '(' expression ')' 1621 class_enum : identifier '(' expression ')'
1622 { $$ = 0; } 1622 { $$ = 0; }