anchor.diff:  
   // parser rules
   
  +// http://www.fortran.com/FortranForTheIBM704.pdf#9
   program : card*;
   card : STMTNUM? statement NEWCARD?;
   statement : arithmeticFormula
  
positive.code: ifDivideCheck         : 'IF' 'DIVIDE' 'CHECK'
                          on=statementNumber ',' off=statementNumber;
  
  doLoop       : 'DO' range=statementNumber index=variable '=' first=loopBoundary ','
                 last=loopBoundary (',' step=loopBoundary)?;
  loopBoundary : ufixedConst|variable;
  continueStmt : 'CONTINUE';
  pause        : 'PAUSE' consoleOutput=ufixedConst?;
  stop         : 'STOP'  consoleOutput=ufixedConst?;
  
  // TODO I/O rules
  
  dimension   : 'DIMENSION' allocation (',' allocation)*;
  allocation  : var=VAR_ID '(' ufixedConst (',' ufixedConst (',' ufixedConst)? )? ')';
  equivalence : 'EQUIVALENCE' group (',' group)*;
  group     : '(' quantity (',' quantity)+ ')';
  quantity    : FUNC_CANDIDATE | VAR_ID ('(' location=ufixedConst ')')?;
  frequency   : 'FREQUENCY' estimate (',' estimate)*;
  estimate    : statementNumber '(' ufixedConst (',' ufixedConst)* ')';
  
  variable   : VAR_ID | FUNC_CANDIDATE;
  subscript  : var=VAR_ID '(' subscriptExpression (','
                              subscriptExpression (','
                              subscriptExpression )? )? ')';
  
negative.code:           | frequency
            ;
  
  // http://www.fortran.com/FortranForTheIBM704.pdf#18
  arithmeticFormula : (VAR_ID | FUNC_CANDIDATE | subscript) '=' expression;
  
  // http://www.fortran.com/FortranForTheIBM704.pdf#19
  uncondGoto   : 'GO' 'TO' statementNumber;
  assignedGoto : 'GO' 'TO' variable ',' '(' statementNumber (',' statementNumber)* ')';
  assign       : 'ASSIGN' statementNumber 'TO' variable;
  computedGoto : 'GO' 'TO' '(' statementNumber (',' statementNumber)* ')' ',' variable;
  
  // http://www.fortran.com/FortranForTheIBM704.pdf#20
  ifStatement           : 'IF' '(' condition=expression ')' lessThan=statementNumber ','
                          equal=statementNumber ',' greaterThan=statementNumber;
  senseLight            : 'SENSE' 'LIGHT' light=ufixedConst;
  