Det finns många förklarande ramar som gör det möjligt för oss att införa koder för frågor relativt lätt för något specifikt språk, men att bygga dem är besvärligt. Det första problemet är att "alla" vill formatera sin kod på olika sätt, vilket leder till antingen många formspråksvarianter eller ett löjligt antal konfigurationsalternativ. För det andra, storleken på varje genomförande skala med ett språk grammatik storlek, vilket leder till hundratals regler. I det här dokumentet löser vi byggproblemet med hjälp av ett nytt tillvägagångssätt, ett som automatiskt ger upphov till frågor för ett visst språk utan ingripande från en språkexpert. Vi introducerar en kod formateria kallad CODE-BUFF som använder maskininlärning till abstrakta formateringsregler från en representativ corpus, med hjälp av en noggrant utformad funktionsuppsättning. Våra experiment på Java, SQL och ANTLR grammatik visar att CODEBUFF är effektiv, har utmärkt noggrannhet och är grammatikinvariant för ett visst språk. Den generaliserar också till ett 4: e språk testat under manuskript förberedelse.
Mer nyligen, CODEBUFF - en automatisk kod formateria för Java, SQL och ANTLR - föreslogs REF.
Technical Report: Towards a Universal Code Formatter through Machine Learning
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}