Changes between Version 18 and Version 19 of FeatureList


Ignore:
Timestamp:
11/04/14 14:31:47 (9 years ago)
Author:
phdmakk
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FeatureList

    v18 v19  
    33 
    44== Core Features: == 
    5  1. BNF front-end (Parser, Lexer, Linker, etc.) 
    6  1. translates a textual representation into an Ecore model 
    7  1. Editor - provides IDE features, e.g. auto-completion, syntax highlighting, etc. 
     5 1. BNF front-end - lexer, parser, linker, etc. 
     6 1. Model serialisation - translates a textual representation to and from an Ecore model 
     7 1. IDE - provides editors and other IDE features, e.g. outline, auto-completion, syntax highlighting, quick-fixing, etc. 
    88 
    99== Validation Rules: == 
    10 These rules will give warnings in the editor if they find find consistencies in the code. 
     10These rules will give warnings in the editor if they find inconsistencies and constraint violations in the code. 
    1111 
    12  1. ''__checkUpdateGrammarConsistency__:'' checks, if the grammar is an updated grammar, for consistencies between the originals and the new grammar 
     12 1. ''__checkUpdateGrammarConsistency__:'' checks if the grammar is an updated grammar, for consistency validation between the original grammar and the new grammar 
    1313   * status: not migrated 
    14  1. ''__checkReferencedOnlyOnce__:'' this should warn if there is a rule that is only referenced once, this is an inlining hint 
     14 1. ''__checkReferencedOnlyOnce__:'' checks if there are rules that are only referenced only once, this is an inlining hint 
    1515   * 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 
     16 1. ''__checkPassthroughRule__:'' checks if a rule gets just passed through, e.g. `a ::= b, b ::= "literal"` <=> `a ::= "literal"`, which is better for EBNF 
    1717   * status: migrated 
    18  1. ''__checkEqualAlternative__:'' this tests if a rule got equal alternatives, e.g.: `a::= d | d` 
     18 1. ''__checkEqualAlternative__:'' checks if a rule has equal alternatives, e.g.: `a::= d | d` 
    1919   * 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 ` 
     20 1. ''__checkDuplicateRules__:'' checks if there is another rule that has the same right hand side, e.g.: `a ::= "literal" | b, c ::= "literal" | b ` 
    2121   * status: migrated 
    22  1. ''__checkSubruleDuplicates__:'' 
     22 1. ''__checkSubruleDuplicates__:'' checks if there are identical parts of right hand sides, this is an extract subrule  hint e.g. `a::= b c d` and  `f::= e c d` <=> `a::= b g` and  `f::= e g` with `g::= c d` 
    2323   * status: not migrated 
    24  1. ''__check unused rule__:'' checks if a rule is used (exept for the rule with the number 1) 
     24 1. ''__checkUnusedRule__:'' checks if a rule never used (except for the first rule) 
    2525   * status: migrated 
    2626 1. ''__checkNameIsUnique__:'' checks if the name of a rule is already in use e.g. `a ::= "end", a ::= "fin"` 
     
    2828 
    2929== Generation: == 
    30 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 
    3130 
    32  * status: in progress 
     31Generating an intermediate xsl-fo representation for all BNF grammars, which can then be rendered to PDF or RTF using apache-fop 
     32   * status: partially migrated, merge or delta grammars not supported (were they in the original implementation?) 
    3333 
    3434== Formatting: == 
    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 
     35 
     36Automated formatting support 
     37  * ''legacy:'' had some formatting support, but it was commented out in the main project 
     38  * ''migrated:'' line-break after every rule, white-spaces after all literals,  possible update to line-break and double tab after all >|< bars 
    3739 
    3840== Refactoring and Quick-fixing: == 
    39 Automated restructuring support. 
    4041 
    41  1. ''auto Numbering of rules'' 
     42Automated restructuring and quick fixing support. 
     43 
     44 1. ''auto numbering of rules'' 
    4245   * status: not migrated 
    4346 1. ''remove unused rules'' 
    4447   * status: migrated 
    45  1. ''replacement of passthroughRules'' 
     48 1. ''replacement of pass-through rules'' 
    4649   * status: not migrated 
    47  1. ''refactor uppercasetokenRules'' 
     50 1. ''uppercase token rules'' 
    4851   * status: not migrated 
    4952 1. ''find references'' 
     
    5356 
    5457== Grammar Composition: == 
    55  * 3 grammartypes: 
     58 
     59Three grammar types: 
    5660   * grammar: normal grammar 
    57    * delta grammar: different notation for a extension grammar, 
     61   * delta grammar: different notation for an extension grammar, 
    5862     * adds new rules to a grammar (regular rules) and adds changes to rules of the extended grammar (extension rules) (can be automatically created) 
    5963   * 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. 
    6164 
    62  * at the moment no support in the new version 
    63  
    64 == Deployment: == 
    65  * export project as Plugin: Plug-in Development/deployable plug-ins and fragments 
    66  * RCP project with a minimal eclipse editor: TBD 
     65The legacy version had an automatic composition process for merge grammars with a small pop-up-menu. 
     66 * status: at the moment no support for grammar composition in the migrated version