class CommunityExprEvaluator implements CommunityExprVisitor<Community, CommunityContext> {

  @Override
  public Community visitStandardCommunityHighLowExprs(
      StandardCommunityHighLowExprs standardCommunityHighLowExprs, CommunityContext arg) {
    int high =
        standardCommunityHighLowExprs.getHighExpr().accept(IntExprEvaluator.instance(), null);
    int low = standardCommunityHighLowExprs.getLowExpr().accept(IntExprEvaluator.instance(), null);
    // conversion should ensure these values are in range
    return StandardCommunity.of(high, low);
  }

  private  CommunityExprEvaluator();

}