public Parser value() {
        if (valueParser == null) {
           FutureParser future = scoped("value");
           valueParser = future;
           future.setParser(
               choice(
                   literal(),
                   integerConstant(),
                   alphanumericConstant()
               )
           );
        }

        return valueParser;
    }