Changes between Version 17 and Version 18 of FeatureList


Ignore:
Timestamp:
07/02/14 12:33:48 (10 years ago)
Author:
hkaulbersch
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FeatureList

    v17 v18  
    11= BNF Tools Version 2.0: Migration Notes = 
    2  
    32Discovered features in version 1.0 and their migration status, as well as further migration notes are summarised below. 
    43 
    54== Core Features: == 
    6  
    75 1. BNF front-end (Parser, Lexer, Linker, etc.) 
    86 1. translates a textual representation into an Ecore model 
    97 1. Editor - provides IDE features, e.g. auto-completion, syntax highlighting, etc. 
    108 
    11  == Validation Rules: == 
    12  
     9== Validation Rules: == 
    1310These rules will give warnings in the editor if they find find consistencies in the code. 
    1411 
    15  1. ''__checkUpdateGrammarConsistency__:'' checks, if the grammar is an updated grammar, for consistencies between the originals and the new grammar  
    16   * status: not migrated 
     12 1. ''__checkUpdateGrammarConsistency__:'' checks, if the grammar is an updated grammar, for consistencies between the originals and the new grammar 
     13   * status: not migrated 
    1714 1. ''__checkReferencedOnlyOnce__:'' this should warn if there is a rule that is only referenced once, this is an inlining hint 
    18   * status: migrated 
    19  1. ''__checkPassthroughRule__:'' this tests if a rule gets just passed through, e.g. {{{a ::= b, b ::= "literal"}}} <=> {{{a ::= "literal"}}}, which is better for EBNF  
    20   * status: migrated 
    21  1. ''__checkEqualAlternative__:'' this tests if a rule got equal alternatives, e.g.: {{{a::= d | d}}} 
    22   * status: migrated 
    23  1. ''__checkDuplicateRules__:'' checks if there is another rule in the !EtsiBnf, that has the same right hand side, e.g.: {{{a ::= "literal" | b, c ::= "literal" | b }}} 
    24   * status: migrated 
     15   * status: migrated 
     16 1. ''__checkPassthroughRule__:'' this tests if a rule gets just passed through, e.g. `a ::= b, b ::= "literal"` <=> `a ::= "literal"`, which is better for EBNF 
     17   * status: migrated 
     18 1. ''__checkEqualAlternative__:'' this tests if a rule got equal alternatives, e.g.: `a::= d | d` 
     19   * status: migrated 
     20 1. ''__checkDuplicateRules__:'' checks if there is another rule in the !EtsiBnf, that has the same right hand side, e.g.: `a ::= "literal" | b, c ::= "literal" | b ` 
     21   * status: migrated 
    2522 1. ''__checkSubruleDuplicates__:'' 
    26   * status: not migrated 
     23   * status: not migrated 
    2724 1. ''__check unused rule__:'' checks if a rule is used (exept for the rule with the number 1) 
    28   * status: migrated 
    29  1. ''__checkNameIsUnique__:'' checks if the name of a rule is already in use e.g. {{{a ::= "end", a ::= "fin"}}} 
    30   * status: migrated 
     25   * status: migrated 
     26 1. ''__checkNameIsUnique__:'' checks if the name of a rule is already in use e.g. `a ::= "end", a ::= "fin"` 
     27   * status: migrated 
    3128 
    3229== Generation: == 
     30Generating an intermediate xsl-fo representation for all BNF grammars (merge or delta grammars not supported). This can be rendered to PDF using apache-fop 
    3331 
    34 Generating an intermediate xsl-fo representation for all BNF grammars (merge or delta grammars not supported). This can be rendered to PDF using apache-fop 
    3532 * status: in progress 
    3633 
    3734== Formatting: == 
    38  
    39   * ''old:'' had some but they are got commented out in the main project 
    40   * ''new:'' line-break after every rule, white-spaces after all literals,  possible update linebreak and double tab after all >|< bars 
     35 * ''old:'' had some but they are got commented out in the main project 
     36 * ''new:'' line-break after every rule, white-spaces after all literals,  possible update linebreak and double tab after all >|< bars 
    4137 
    4238== Refactoring and Quick-fixing: == 
    43  
    4439Automated restructuring support. 
    4540 
    46  1. ''auto Numbering of rules''  
    47   * status: not migrated 
     41 1. ''auto Numbering of rules'' 
     42   * status: not migrated 
    4843 1. ''remove unused rules'' 
    49   * status: migrated 
     44   * status: migrated 
    5045 1. ''replacement of passthroughRules'' 
    51   * status: not migrated 
     46   * status: not migrated 
    5247 1. ''refactor uppercasetokenRules'' 
    53   * status: not migrated 
     48   * status: not migrated 
    5449 1. ''find references'' 
    55   * status: provided by xtext2 
     50   * status: provided by xtext2 
    5651 1. ''renaming'' 
    57   * status: provided by xtext2 
     52   * status: provided by xtext2 
    5853 
    5954== Grammar Composition: == 
    60  
    61   - 3 grammartypes: 
    62     - grammar: normal grammar  
    63     - delta grammar: different notation for a extension grammar, 
    64       - adds new rules to a grammar (regular rules) and adds changes to rules of the extended grammar (extension rules) (can be automatically created) 
    65     - merge grammar: for merging extensions 
    66   - old version had an automatic composition process for merge grammars with a small pop-up-menu. 
     55 * 3 grammartypes: 
     56   * grammar: normal grammar 
     57   * delta grammar: different notation for a extension grammar, 
     58     * adds new rules to a grammar (regular rules) and adds changes to rules of the extended grammar (extension rules) (can be automatically created) 
     59   * merge grammar: for merging extensions 
     60 * old version had an automatic composition process for merge grammars with a small pop-up-menu. The new has 2 Buttons for Generating either PDF or RTF files from the Grammar. 
    6761 
    6862 * at the moment no support in the new version 
    6963 
    7064== Deployment: == 
    71  
    72  * export project as Plugin: Plug-in Development/deployable plug-ins and fragments  
     65 * export project as Plugin: Plug-in Development/deployable plug-ins and fragments 
    7366 * RCP project with a minimal eclipse editor: TBD