All pastes #2055943 Raw Edit

Untitled

public text v1 · immutable
#2055943 ·published 2011-05-09 23:04 UTC
rendered paste body
class FooBar which is damn cool
    and extends Foo
    and implements Bar, Baz.
It does many things right. 'nuff said.

FooBar's elements:
    method doSomething which does something
        has parameters
            value which is funny
        does
            var tmp := value;
            return tmp;

Cool, eh?

Yeah, that's it!

=======================
EBNF:

label = [a-zA-Z][a-zA-Z0-9]*
text = ...
text_to_end_of_line = ...
expression_list = .....

element_comment = 'which' text_to_end_of_line

optional_element_comment =   element_comment
                           |

class_list =   (class_list ',' label)
             | label

extends_line = 'and' 'extends' label

optional_extends_line =   extends_line
                        |

implement_line = 'and' 'implements' class_list

optional_implent_line =   implement_line
                         |


long_comment = text '\'nuff said.'

optional_long_comment =   long_comment
                        | 

parameter_declaration = label optional_element_comment

parameter_declarations =   parameter_declarations parameter_declaration
                         | parameter_declaration

parameter_list = 'has' 'parameters' parameter_declarations

optional_parameter_list =   parameter_list
                          |

method_declaration = 'method' label optional_element_comment optional_parameter_list 'does' expression_list 'Cool, eh?'

optional_method_declarations =   method_declarations method_declaration
                      | method_declaration
                      |

class_declaration = 'class' optional_element_comment optional_extends_line optional_implent_line long_comment optional_method_declarations 'Yeah that`s it!'