packages/gerber-parser/lib/_parse-macro-expression.js
function() {
    var t = tokens.shift()
    var exp

    if (RE_NUMBER.test(t)) {
      exp = {type: 'n', val: t}
    } else {
      exp = parseExpression()
      tokens.shift()
    }
    return exp
  }
function() {
    var t = tokens.shift()
    var exp

    if (RE_NUMBER.test(t)) {
      exp = {type: 'n', val: t}
    } else {
      exp = parseExpression()
      tokens.shift()
    }
    return exp
  }
function ( ) { var t = tokens . shift ( ) var exp if ( RE_NUMBER . test ( t ) ) { exp = { type : 'n' , val : t } } else { exp = parseExpression ( ) tokens . shift ( ) } return exp }
primary tokens are numbers and parentheses
primary tokens are numbers and parentheses