Changeset 72 in default


Ignore:
Timestamp:
06/15/14 08:59:05 (10 years ago)
Author:
hkaulbersch
Message:

Automatic PDF Generation from .fo files now works

Files:
15 added
3 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/plugin.xml

    r71 r72  
    248248        </extension> 
    249249 
    250 <!-- 
     250<!--   --> 
     251    
    251252   <extension 
    252253         point="org.eclipse.xtext.builder.participant"> 
     
    255256      </participant> 
    256257   </extension> 
    257    --> 
    258     
    259    <!--this is for using a button for generation --> 
     258 
     259    
     260   <!--this is for using a button for generation  
    260261   <extension 
    261262        point="org.eclipse.ui.handlers"> 
     
    291292    </menuContribution> 
    292293    </extension> 
    293  
     294--> 
    294295    
    295296    
     
    433434    </provider> 
    434435  </extension> 
     436  <!-- 
     437  <extension 
     438        point="org.eclipse.ui.commands"> 
     439     <command 
     440           defaultHandler="de.ugoe.cs.swe.bnftools.ui.EbnfExecutableExtensionFactory:de.ugoe.cs.swe.bnftools.ui.handler.BT_GenerationHandler" 
     441           id="de.ugoe.cs.swe.bnftools.ebnf.ui.cmdgenerate" 
     442           name="button_generate"> 
     443     </command> 
     444  </extension> 
     445  <extension 
     446        point="org.eclipse.ui.menus"> 
     447     <menuContribution 
     448           allPopups="false" 
     449           locationURI="toolbar:org.eclipse.ui.main.toolbar"> 
     450        <command 
     451              commandId="de.ugoe.cs.swe.bnftools.ebnf.ui.cmdgenerate" 
     452              icon="lrun_obj.gif" 
     453              style="push" 
     454              tooltip="Generate Code"> 
     455        </command> 
     456     </menuContribution> 
     457  </extension> 
     458  --> 
     459  <extension 
     460        id="product" 
     461        point="org.eclipse.core.runtime.products"> 
     462     <product 
     463           application="de.ugoe.cs.swe.bnftools.product.application" 
     464           name="bnf"> 
     465        <property 
     466              name="appName" 
     467              value="bnf"> 
     468        </property> 
     469     </product> 
     470  </extension> 
    435471 
    436472</plugin> 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/GenerationHandler.java

    r71 r72  
    11package de.ugoe.cs.swe.bnftools.ui.handler; 
     2 
     3import java.util.Iterator; 
     4import java.util.Map; 
     5import java.util.Map.Entry; 
    26 
    37import org.eclipse.core.commands.AbstractHandler; 
     
    59import org.eclipse.core.commands.ExecutionException; 
    610import org.eclipse.core.commands.IHandler; 
     11import org.eclipse.core.commands.common.NotDefinedException; 
    712import org.eclipse.core.resources.IFile; 
    813import org.eclipse.core.resources.IFolder; 
     
    1116import org.eclipse.core.runtime.NullProgressMonitor; 
    1217import org.eclipse.emf.common.util.URI; 
     18import org.eclipse.emf.ecore.EcorePackage; 
    1319import org.eclipse.emf.ecore.resource.Resource; 
    1420import org.eclipse.emf.ecore.resource.ResourceSet; 
     21import org.eclipse.emf.ecore.xml.type.SimpleAnyType; 
     22import org.eclipse.emf.ecore.xml.type.XMLTypeFactory; 
    1523import org.eclipse.jface.viewers.ISelection; 
    1624import org.eclipse.jface.viewers.IStructuredSelection; 
    1725import org.eclipse.ui.handlers.HandlerUtil; 
    18 import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess; 
     26import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2; 
    1927import org.eclipse.xtext.generator.IGenerator; 
     28import org.eclipse.xtext.generator.OutputConfiguration; 
    2029import org.eclipse.xtext.resource.IResourceDescriptions; 
    2130import org.eclipse.xtext.ui.resource.IResourceSetProvider; 
     
    3039  
    3140    @Inject 
    32     private Provider<EclipseResourceFileSystemAccess> fileAccessProvider; 
     41    private Provider<EclipseResourceFileSystemAccess2> fileAccessProvider; 
    3342      
    3443    @Inject 
     
    4049    @Override 
    4150    public Object execute(ExecutionEvent event) throws ExecutionException { 
    42           
     51        String mode = ""; 
     52  
     53        try { 
     54                        mode = event.getCommand().getName(); 
     55                } catch (NotDefinedException e1) { 
     56                        // catch block 
     57                        e1.printStackTrace(); 
     58                } 
     59                  
     60 
     61          
    4362        ISelection selection = HandlerUtil.getCurrentSelection(event); 
    4463        if (selection instanceof IStructuredSelection) { 
     
    5877                } 
    5978  
    60                 final EclipseResourceFileSystemAccess fsa = fileAccessProvider.get(); 
     79                final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get(); 
    6180                fsa.setOutputPath(srcGenFolder.getFullPath().toString()); 
     81                 
     82                //complete the filesystemaccess  
     83                fsa.setMonitor(new NullProgressMonitor()); 
     84                Map<String, OutputConfiguration> teste = fsa.getOutputConfigurations(); 
     85                         
     86                Iterator<Entry<String, OutputConfiguration>> it = teste.entrySet().iterator(); 
     87                 
     88                while(it.hasNext()){ 
     89                          
     90                    Entry<String, OutputConfiguration> next = it.next(); 
     91                    OutputConfiguration out = next.getValue(); 
     92                    out.isOverrideExistingResources(); 
     93                    out.setCreateOutputDirectory(true); // <--- do not touch this 
    6294                  
     95                  } 
     96                  // -----> 
     97                 
    6398                URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true); 
    6499                ResourceSet rs = resourceSetProvider.get(project); 
    65100                Resource r = rs.getResource(uri, true); 
     101                 
     102                // to pass a String inside a resource i have to wrap it in a EOBject 
     103                SimpleAnyType wrapper = XMLTypeFactory.eINSTANCE.createSimpleAnyType(); 
     104                wrapper.setInstanceType(EcorePackage.eINSTANCE.getEString()); 
     105                wrapper.setValue(mode); 
     106                // 
     107                
     108                // add string to resource 
     109                r.getContents().add(wrapper); 
     110             
    66111                generator.doGenerate(r, fsa); 
    67112                  
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/.classpath

    r69 r72  
    11<?xml version="1.0" encoding="UTF-8"?> 
    22<classpath> 
     3        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> 
     4        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 
    35        <classpathentry kind="src" path="src"/> 
    46        <classpathentry kind="src" path="src-gen"/> 
    57        <classpathentry kind="src" path="xtend-gen"/> 
    6         <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> 
    7         <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 
    8         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/lib/avalon-framework-4.2.0.jar"/> 
    9         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/lib/batik-all-1.7.jar"/> 
    10         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/lib/commons-io-1.3.1.jar"/> 
    11         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/lib/commons-logging-1.0.4.jar"/> 
    12         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/lib/serializer-2.7.0.jar"/> 
    13         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/lib/xalan-2.7.0.jar"/> 
    14         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/lib/xercesImpl-2.7.1.jar"/> 
    15         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/lib/xml-apis-1.3.04.jar"/> 
    16         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/lib/xml-apis-ext-1.3.04.jar"/> 
    17         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/lib/xmlgraphics-commons-1.5.jar"/> 
    18         <classpathentry kind="lib" path="C:/Users/hauke/Desktop/Uni/Hiwijob bnf tools/fop-1.1/build/fop.jar"/> 
     8        <classpathentry kind="src" path="libs"/> 
     9        <classpathentry kind="lib" path="libs/avalon-framework-4.2.0.jar"/> 
     10        <classpathentry kind="lib" path="libs/batik-all-1.7.jar"/> 
     11        <classpathentry kind="lib" path="libs/commons-io-1.3.1.jar"/> 
     12        <classpathentry kind="lib" path="libs/commons-logging-1.0.4.jar"/> 
     13        <classpathentry kind="lib" path="libs/fop.jar"/> 
     14        <classpathentry kind="lib" path="libs/serializer-2.7.0.jar"/> 
     15        <classpathentry kind="lib" path="libs/xalan-2.7.0.jar"/> 
     16        <classpathentry kind="lib" path="libs/xercesImpl-2.7.1.jar"/> 
     17        <classpathentry kind="lib" path="libs/xml-apis-1.3.04.jar"/> 
     18        <classpathentry kind="lib" path="libs/xml-apis-ext-1.3.04.jar"/> 
     19        <classpathentry kind="lib" path="libs/xmlgraphics-commons-1.5.jar"/> 
    1920        <classpathentry kind="output" path="bin"/> 
    2021</classpath> 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/META-INF/MANIFEST.MF

    r70 r72  
    2121 org.eclipse.core.resources, 
    2222 org.eclipse.core.runtime;version="3.4.0", 
    23  org.eclipse.xtext.xbase.lib 
     23 org.eclipse.xtext.xbase.lib  
    2424Bundle-RequiredExecutionEnvironment: J2SE-1.5 
    25 Export-Package: de.ugoe.cs.swe.bnftools, 
    26  de.ugoe.cs.swe.bnftools.services, 
    27  de.ugoe.cs.swe.bnftools.ebnf, 
    28  de.ugoe.cs.swe.bnftools.ebnf.impl, 
    29  de.ugoe.cs.swe.bnftools.ebnf.util, 
    30  de.ugoe.cs.swe.bnftools.serializer, 
    31  de.ugoe.cs.swe.bnftools.parser.antlr, 
    32  de.ugoe.cs.swe.bnftools.parser.antlr.internal, 
    33  de.ugoe.cs.swe.bnftools.validation, 
    34  de.ugoe.cs.swe.bnftools.scoping, 
    35  de.ugoe.cs.swe.bnftools.generator, 
    36  de.ugoe.cs.swe.bnftools.formatting 
     25Export-Package: de.ugoe.cs.swe.bnftools;uses:="org.eclipse.xtext,org.eclipse.xtext.service,com.google.inject", 
     26 de.ugoe.cs.swe.bnftools.ebnf;uses:="org.eclipse.emf.ecore,org.eclipse.emf.common.util", 
     27 de.ugoe.cs.swe.bnftools.ebnf.impl; 
     28  uses:="org.eclipse.emf.ecore, 
     29   de.ugoe.cs.swe.bnftools.ebnf, 
     30   org.eclipse.emf.common.util, 
     31   org.eclipse.emf.ecore.impl, 
     32   org.eclipse.emf.common.notify", 
     33 de.ugoe.cs.swe.bnftools.ebnf.util; 
     34  uses:="org.eclipse.emf.ecore.util, 
     35   org.eclipse.emf.ecore, 
     36   org.eclipse.emf.common.notify.impl, 
     37   de.ugoe.cs.swe.bnftools.ebnf, 
     38   org.eclipse.emf.common.notify", 
     39 de.ugoe.cs.swe.bnftools.formatting;uses:="org.eclipse.xtext.formatting.impl", 
     40 de.ugoe.cs.swe.bnftools.generator;uses:="org.eclipse.emf.ecore.resource,de.ugoe.cs.swe.bnftools.ebnf,org.eclipse.xtext.generator", 
     41 de.ugoe.cs.swe.bnftools.parser.antlr;uses:="de.ugoe.cs.swe.bnftools.services,org.eclipse.xtext.parser.antlr,de.ugoe.cs.swe.bnftools.parser.antlr.internal", 
     42 de.ugoe.cs.swe.bnftools.parser.antlr.internal; 
     43  uses:="org.eclipse.emf.ecore, 
     44   de.ugoe.cs.swe.bnftools.services, 
     45   org.antlr.runtime, 
     46   org.eclipse.xtext.parser.antlr", 
     47 de.ugoe.cs.swe.bnftools.scoping;uses:="org.eclipse.xtext.scoping.impl", 
     48 de.ugoe.cs.swe.bnftools.serializer; 
     49  uses:="org.eclipse.xtext, 
     50   org.eclipse.emf.ecore, 
     51   org.eclipse.xtext.serializer.sequencer, 
     52   de.ugoe.cs.swe.bnftools.services, 
     53   de.ugoe.cs.swe.bnftools.ebnf, 
     54   org.eclipse.xtext.serializer.analysis, 
     55   org.eclipse.xtext.nodemodel", 
     56 de.ugoe.cs.swe.bnftools.services;uses:="org.eclipse.xtext,org.eclipse.xtext.service", 
     57 de.ugoe.cs.swe.bnftools.validation;uses:="de.ugoe.cs.swe.bnftools.ebnf" 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/build.properties

    r61 r72  
    1 source.. = src/,\ 
    2           src-gen/,\ 
    3           xtend-gen/ 
    41bin.includes = model/,\ 
    52               META-INF/,\ 
    6                .,\ 
    73               plugin.xml 
     4 
     5jars.compile.order =  
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/serializer/EbnfSyntacticSequencer.java

    r67 r72  
    7676         * Syntax: 
    7777         *     ( 
     78             ']' |  
     79             '|' |  
    7880             '(' |  
     81             '*' |  
     82             '+' |  
    7983             '}' |  
     84             '{' |  
    8085             '[' |  
    81              '*' |  
    82              '|' |  
    83              '{' |  
    84              ')' |  
    85              ']' |  
    86              '+' 
     86             ')' 
    8787         )* 
    8888         */ 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/formatting/EbnfFormatter.xtend

    r65 r72  
    66import com.google.inject.Inject 
    77import de.ugoe.cs.swe.bnftools.services.EbnfGrammarAccess 
    8 import org.eclipse.xtext.Keyword 
    98import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter 
    109import org.eclipse.xtext.formatting.impl.FormattingConfig 
    11 import org.eclipse.emf.ecore.EObject 
    12 import de.ugoe.cs.swe.bnftools.ebnf.Rule 
    13 import de.ugoe.cs.swe.bnftools.ebnf.DefinitionList 
     10 
    1411 
    1512/** 
     
    3835 
    3936                 
    40 //              for (Keyword bar : f.findKeywords("|")) { 
    41 // 
    42 //                      c.setSpace("\n\t\t").before(bar); 
    43 //              } 
    44  
    4537        } 
    4638} 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/generator/EbnfGenerator.xtend

    r70 r72  
    2424import org.eclipse.xtext.generator.IFileSystemAccessExtension 
    2525import java.io.PrintWriter 
     26 
    2627/** 
    2728 * Generates code from your model files on save. 
     
    3031 */ 
    3132class EbnfGenerator implements IGenerator { 
     33 
    3234        //generation of the xsl-file 
    3335        override void doGenerate(Resource resource, IFileSystemAccess fsa) { 
    34                 var String workspacePath =WorkspaceResolver.getWorkspace(); 
     36                var String workspacePath = WorkspaceResolver.getWorkspace(); 
    3537                for (e : resource.allContents.toIterable.filter(EtsiBnf)) { 
    36                         if (e.bnfEntry.size!=0) { 
    37                                  fsa.generateFile(e.name + ".fo", e.compile) 
    38                                   
    39                                  //generate pdf 
    40                                  var uri = (fsa as IFileSystemAccessExtension2).getURI(e.name+".fo"); 
    41                                  var String fullUri = workspacePath+uri.path.substring(10,uri.path.length); 
    42                                 System.out.println(workspacePath+uri.path.substring(10,uri.path.length)); 
     38                        if (e.bnfEntry.size != 0) { 
     39                                fsa.generateFile(e.name + ".fo", e.compile) 
     40 
     41                                //generate pdf 
     42                                var uri = (fsa as IFileSystemAccessExtension2).getURI(e.name + ".fo"); 
     43                                var String fullUri = workspacePath + uri.path.substring(10, uri.path.length); 
     44                                System.out.println(workspacePath + uri.path.substring(10, uri.path.length)); 
    4345                                var File file = new File(fullUri); 
    44                                 System.out.println(file.exists); 
    45 //                               System.out.println(uri.toString()); 
    46                                   
    47                                   
    48 //                               System.out.println(file.exists); 
    49                                  
    50 //                               foToPdf.createPdfFromFo(file,aPath.substring(0,aPath.length-3)); 
     46                                System.out.println(file.exists+ "," + fullUri.substring(0, fullUri.length - 3)); 
     47 
     48                                if (file.exists) { 
     49                                        foToPdf.createPdfFromFo(fullUri.substring(0, fullUri.length - 3)); 
     50                                } 
    5151                        } 
    5252                } 
     
    5454 
    5555        // compile the different entities of the Bnf----------------------------------------------------------------------------- 
    56         def compile(EtsiBnf bnf)  
    57         ''' 
     56        def compile(EtsiBnf bnf) ''' 
    5857        <?xml version="1.0"?> 
    5958        <!-- fop «bnf.name».xml -rtf «bnf.name».rtf --> 
    6059        <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
    61  
     60         
    6261                <fo:layout-master-set> 
    63                         <fo:simple-page-master master-name="A4" page-width="210mm" page-height="297mm"> 
    64                         <fo:region-body region-name="xsl-region-body"  margin="2cm"/> 
    65                 </fo:simple-page-master> 
     62                                <fo:simple-page-master master-name="A4" page-width="210mm" page-height="297mm"> 
     63                                                <fo:region-body region-name="xsl-region-body"  margin="2cm"/> 
     64                                                </fo:simple-page-master> 
    6665                </fo:layout-master-set> 
    6766         
     
    6968                        <fo:flow flow-name="xsl-region-body" font-family="verdana"> 
    7069                                 
    71                                 <fo:block span="all"  text-align="center" text-indent="1em" font-family="Arial" font-size="20pt" font-weight="bold" background-color="#EEEEEE" line-height="20mm">«bnf.name»</fo:block> 
     70                                <fo:block span="all"  text-align="center" text-indent="1em" font-family="Arial" font-size="20pt" font-weight="bold" background-color="#EEEEEE" line-height="20mm">«bnf. 
     71                name»</fo:block> 
    7272                                                 
    73                                 «FOR bnfentry:bnf.bnfEntry» 
     73                                «FOR bnfentry : bnf.bnfEntry» 
    7474                                        «bnfentry.compile» 
    7575                                «ENDFOR» 
     
    7777                </fo:page-sequence> 
    7878        </fo:root>''' 
    79          
    80         def compile(BnfEntry bnfEntry)''' 
    81                 «IF bnfEntry.rule!= null» 
    82                                 «bnfEntry.rule.compile» 
     79 
     80        def compile(BnfEntry bnfEntry) ''' 
     81                «IF bnfEntry.rule != null» 
     82                        «bnfEntry.rule.compile» 
    8383                «ENDIF» 
    8484        ''' 
    85          
    86         def compile(Rule rule)'''<fo:block><fo:inline id="«rule.name»"  color="purple">«IF rule.rulenumber!=0»«rule.rulenumber».        «ENDIF»«rule.name»</fo:inline>  ::=     «rule.definitionList.compile»</fo:block>''' 
    87          
    88         def compile(DefinitionList dList)'''«FOR sDef:dList.singleDefinition»«sDef.compile»«IF !sDef.equals(dList.singleDefinition.last)» | «ENDIF»«ENDFOR»''' 
    89          
    90         def compile(SingleDefinition sDefinition)'''«FOR term:sDefinition.terms»«term.compile»«ENDFOR»''' 
    91          
    92         def compile(Term term)'''«IF term.termAtom!=null»«term.termAtom.compile»«ENDIF»«IF term.termOptionalSequence!=null»«term.termOptionalSequence.compile»«ENDIF»«IF term.termRepeatedSequence!=null»«term.termRepeatedSequence.compile»«ENDIF»«IF term.termGroupedSequence!=null»«term.termGroupedSequence.compile»«ENDIF»''' 
    93          
    94         def compile(GroupedSequence gSequ)'''«FOR d :gSequ.definitionList»«d.compile»«ENDFOR»''' 
    9585 
    96         def compile(RepeatedSequence rSequ)'''{«FOR d:rSequ.definitions»«d.compile»«ENDFOR»}«IF rSequ.morethanonce»+«ENDIF»''' 
    97          
    98         def compile(OptionalSequence oSequ)'''(«FOR d:oSequ.definitionList»«d.compile»«ENDFOR»)''' 
    99          
    100         def compile(Atom atom)''' 
    101         «IF atom.atomRuleReference!= null»«atom.atomRuleReference.compile»«ENDIF»«IF atom.atomStringRule!= null»«atom.atomStringRule.compile»«ENDIF»''' 
    102          
    103         def compile(RuleReference rRef)'''<fo:basic-link internal-destination="«rRef.ruleref.name»" text-decoration="underline" color="blue">«rRef.ruleref.name»</fo:basic-link>        ''' 
    104          
    105         def compile(StringRule sRule)'''«IF sRule.colon!=null»«sRule.colon»«ENDIF»«IF sRule.literal!=null»«sRule.literal»       «ENDIF»''' 
    106          
    107          
     86        def compile(Rule rule) '''<fo:block><fo:inline id="«rule.name»" color="purple">«IF rule.rulenumber != 0»«rule. 
     87                rulenumber».    «ENDIF»«rule.name»</fo:inline>  ::=     «rule.definitionList.compile»</fo:block>''' 
     88 
     89        def compile(DefinitionList dList) '''«FOR sDef : dList.singleDefinition»«sDef.compile»«IF !sDef.equals( 
     90                dList.singleDefinition.last)» | «ENDIF»«ENDFOR»''' 
     91 
     92        def compile(SingleDefinition sDefinition) '''«FOR term : sDefinition.terms»«term.compile»«ENDFOR»''' 
     93 
     94        def compile(Term term) '''«IF term.termAtom != null»«term.termAtom.compile»«ENDIF»«IF term.termOptionalSequence != 
     95                null»«term.termOptionalSequence.compile»«ENDIF»«IF term.termRepeatedSequence != null»«term.termRepeatedSequence. 
     96                compile»«ENDIF»«IF term.termGroupedSequence != null»«term.termGroupedSequence.compile»«ENDIF»''' 
     97 
     98        def compile(GroupedSequence gSequ) '''«FOR d : gSequ.definitionList»«d.compile»«ENDFOR»''' 
     99 
     100        def compile(RepeatedSequence rSequ) '''{«FOR d : rSequ.definitions»«d.compile»«ENDFOR»}«IF rSequ.morethanonce»+«ENDIF»''' 
     101 
     102        def compile(OptionalSequence oSequ) '''(«FOR d : oSequ.definitionList»«d.compile»«ENDFOR»)''' 
     103 
     104        def compile(Atom atom) ''' 
     105        «IF atom.atomRuleReference != null»«atom.atomRuleReference.compile»«ENDIF»«IF atom.atomStringRule != null»«atom. 
     106                atomStringRule.compile»«ENDIF»''' 
     107 
     108        def compile(RuleReference rRef) '''<fo:basic-link internal-destination="«rRef.ruleref.name»" text-decoration="underline" color="blue">«rRef. 
     109                ruleref.name»</fo:basic-link>   ''' 
     110 
     111        def compile(StringRule sRule) '''«IF sRule.colon != null»«sRule.colon»«ENDIF»«IF sRule.literal != null»«sRule. 
     112                literal»        «ENDIF»''' 
     113 
    108114} 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/generator/foToPdf.java

    r70 r72  
    1515import javax.xml.transform.stream.StreamSource; 
    1616 
     17 
     18 
    1719import org.apache.fop.apps.FOPException; 
     20import org.apache.fop.apps.Fop; 
    1821import org.apache.fop.apps.FopFactory; 
    19 import org.apache.fop.apps.Fop; 
    2022import org.apache.fop.apps.MimeConstants; 
     23 
    2124 
    2225public class foToPdf { 
    2326 
    24         public static void main(String args[]) throws IOException, FOPException, 
    25                         TransformerException { 
    2627 
    27                 createfoFromPdf("test1","test1"); 
    28         } 
    2928         
    3029        public static void createPdfFromFo(String fileName) throws IOException, FOPException, 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/validation/EbnfValidator.xtend

    r66 r72  
    1414import de.ugoe.cs.swe.bnftools.ebnf.DefinitionList 
    1515import de.ugoe.cs.swe.bnftools.ebnf.SingleDefinition 
    16 import java.util.ArrayList 
    1716import com.google.inject.Inject 
    1817import org.eclipse.xtext.resource.IResourceDescriptions 
Note: See TracChangeset for help on using the changeset viewer.