Ignore:
Timestamp:
10/22/10 14:53:37 (14 years ago)
Author:
zeiss
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/formatter/EbnfFormatterVisitor.java

    r10 r11  
    11package de.ugoe.cs.swe.bnftools.ui.formatter; 
    22 
     3import org.eclipse.emf.common.util.EList; 
    34import org.eclipse.emf.ecore.EObject; 
    45 
     
    4546        // ----------------------------------------------------------------------------- 
    4647 
    47         protected void visit(EtsiBnf node) { 
     48        protected void visitBefore(EtsiBnf node) { 
    4849                buf.append("grammar " + node.getName()); 
    4950                if (node.getType() != null) 
    5051                        buf.append(node.getType()); 
    5152                buf.append(";"); 
     53                buf.append("\n\n"); 
    5254        } 
    5355 
    54         protected void visit(Atom node) { 
     56        protected void visitAfter(EtsiBnf node) { 
    5557        } 
    5658 
    57         protected void visit(DefinitionList node) { 
     59        protected void visitBefore(Atom node) { 
    5860        } 
    5961 
    60         protected void visit(ExtRule node) { 
     62        protected void visitAfter(Atom node) { 
    6163        } 
    6264 
    63         protected void visit(GlobalCombinator node) { 
     65        protected void visitBefore(Term node) { 
    6466        } 
    6567 
    66         protected void visit(GroupedSequence node) { 
     68        protected void visitAfter(Term node) { 
     69                SingleDefinition parent = (SingleDefinition) node.eContainer(); 
     70                int index = parent.getTerms().indexOf(node); 
     71                if ((parent.getTerms().size() > 0) && (index < parent.getTerms().size()-1)) 
     72                        buf.append(" "); 
    6773        } 
    6874 
    69         protected void visit(HookCombinator node) { 
     75        protected void visitBefore(DefinitionList node) { 
    7076        } 
    7177 
    72         protected void visit(Import node) { 
     78        protected void visitAfter(DefinitionList node) { 
    7379        } 
    7480 
    75         protected void visit(MergeRule node) { 
     81        protected void visitBefore(ExtRule node) { 
    7682        } 
    7783 
    78         protected void visit(OptionalSequence node) { 
     84        protected void visitAfter(ExtRule node) { 
    7985        } 
    8086 
    81         protected void visit(RepeatedSequence node) { 
     87        protected void visitBefore(GlobalCombinator node) { 
    8288        } 
    8389 
    84         protected void visit(Rule node) { 
     90        protected void visitAfter(GlobalCombinator node) { 
    8591        } 
    8692 
    87         protected void visit(RuleCombinator node) { 
     93        protected void visitBefore(GroupedSequence node) { 
     94                buf.append("("); 
    8895        } 
    8996 
    90         protected void visit(RuleReference node) { 
     97        protected void visitAfter(GroupedSequence node) { 
     98                buf.append(")"); 
    9199        } 
    92100 
    93         protected void visit(SectionHeading node) { 
     101        protected void visitBefore(HookCombinator node) { 
    94102        } 
    95103 
    96         protected void visit(SingleDefinition node) { 
     104        protected void visitAfter(HookCombinator node) { 
    97105        } 
    98106 
    99         protected void visit(StringRule node) { 
     107        protected void visitBefore(Import node) { 
    100108        } 
    101109 
    102         protected void visit(Term node) { 
     110        protected void visitAfter(Import node) { 
    103111        } 
    104112 
     113        protected void visitBefore(MergeRule node) { 
     114        } 
     115 
     116        protected void visitAfter(MergeRule node) { 
     117        } 
     118 
     119        protected void visitBefore(OptionalSequence node) { 
     120        } 
     121 
     122        protected void visitAfter(OptionalSequence node) { 
     123        } 
     124 
     125        protected void visitBefore(RepeatedSequence node) { 
     126        } 
     127 
     128        protected void visitAfter(RepeatedSequence node) { 
     129        } 
     130 
     131        protected void visitBefore(Rule node) { 
     132                if (node.getRulenumber() > 0) 
     133                        buf.append(node.getRulenumber() + ". "); 
     134                 
     135                buf.append(node.getName() + " ::= "); 
     136        } 
     137 
     138        protected void visitAfter(Rule node) { 
     139                buf.append(";\n"); 
     140        } 
     141 
     142        protected void visitBefore(RuleCombinator node) { 
     143        } 
     144 
     145        protected void visitAfter(RuleCombinator node) { 
     146        } 
     147 
     148        protected void visitBefore(RuleReference node) { 
     149        } 
     150 
     151        protected void visitAfter(RuleReference node) { 
     152        } 
     153 
     154        protected void visitBefore(SectionHeading node) { 
     155        } 
     156 
     157        protected void visitAfter(SectionHeading node) { 
     158        } 
     159 
     160        protected void visitBefore(SingleDefinition node) { 
     161        } 
     162 
     163        protected void visitAfter(SingleDefinition node) { 
     164        } 
     165 
     166        protected void visitBefore(StringRule node) { 
     167                if (node.getLiteral() != null) 
     168                        buf.append("\"" + node.getLiteral() + "\""); 
     169                else if (node.getColon() != null) 
     170                        buf.append(" " + node.getColon()); 
     171        } 
     172 
     173        protected void visitAfter(StringRule node) { 
     174        } 
     175 
     176         
     177         
    105178} 
Note: See TracChangeset for help on using the changeset viewer.