anchor.diff:  grammar QlsGrammar;
   
   stylesheet
  -    : STYLESHEET Identifier (page)*
  +    : 'stylesheet' Identifier (page)*
       ;
   
   page
  -    : PAGE Identifier OPEN_BRACE (section|defaultBlock)* CLOSE_BRACE
  +    : 'page' Identifier '{' (section|defaultBlock)* '}'
       ;
   
   section
  -    : SECTION StringLiteral OPEN_BRACE (question|section|defaultBlock)* CLOSE_BRACE
  +    : 'section' StringLiteral '{' (question|section|defaultBlock)* '}'
       ;
   
   question	
  -	: QUESTION Identifier widget?
  +	: 'question' Identifier widget?
   	;
   
   widget
  -	: WIDGET widgetType 
  +	: 'widget' widgetType 
   	;
   
   defaultBlock
  -	: DEFAULT type widget
  -	| DEFAULT type OPEN_BRACE (styleRule)* widget CLOSE_BRACE
  +	: 'default' type widget
  +	| 'default' type '{' (styleRule)* widget '}'
   	;
   
   styleRule
  -	: 'height' COLON IntegerLiteral     # heightStyleRule
  -    | 'width' COLON IntegerLiteral      # widthStyleRule
  -    | 'fontsize' COLON IntegerLiteral   # fontSizeStyleRule
  -    | 'color' COLON HexColorLiteral     # colorStyleRule
  -    | 'fontstyle' COLON StringLiteral   # fontStyleStyleRule
  -    | 'font' COLON StringLiteral        # fontNameStyleRule
  +	: 'height' ':' IntegerLiteral     # heightStyleRule
  +    | 'width' ':' IntegerLiteral      # widthStyleRule
  +    | 'fontsize' ':' IntegerLiteral   # fontSizeStyleRule
  +    | 'color' ':' HexColorLiteral     # colorStyleRule
  +    | 'fontstyle' ':' StringLiteral   # fontStyleStyleRule
  +    | 'font' ':' StringLiteral        # fontNameStyleRule
   	;
   
   widgetType
  -    : 'spinbox' # spinboxWidgetType
  -    | 'radio' optionsList # radioWidgetType
  -    | 'dropdown' optionsList # dropdownWidgetType
  -    | 'checkbox' # checkboxWidgetType
  +    : 'spinbox'                 # spinboxWidgetType
  +    | 'radio' optionsList       # radioWidgetType
  +    | 'dropdown' optionsList    # dropdownWidgetType
  +    | 'checkbox'                # checkboxWidgetType
       ;
   
   optionsList
  -	: OPEN_PARENTHESIS option CLOSE_PARENTHESIS
  +	: '(' option ')'
   	;
   
   option
  
positive.code:     
  LineComment 
      :   '//' ~[\r\n]* -> channel(HIDDEN);
  
  Boolean : 'bool';
  Integer : 'int';
  String : 'str';
  
  BooleanLieral :  'true' | 'false';
  IntegerLiteral  :   ('0'..'9')+;
  
negative.code: 
  // Lexer tokens. Move to separate file?
  
  
  // Syntax
  
  WhiteSpace : (' ' | '\t' | '\n' | '\r') -> channel(HIDDEN);
  
  