ሰኞ፣ ጁላይ 20፣ ፈጣን የቃላት ትንተና ጀነሬተር re2c ተለቀቀ።
ዋና ለውጦች፡-

  • ለ Go ቋንቋ ድጋፍ ታክሏል።
    (በ--lang go አማራጭ ለ re2c ወይም እንደ ራሱን የቻለ re2go ፕሮግራም የነቃ)።
    የC እና Go ዶክመንቶች ከተመሳሳይ ጽሁፍ የመነጩ ናቸው፣ ግን ከተለያዩ ጋር
    የኮድ ምሳሌዎች. በ re2c ውስጥ ያለው የኮድ ማመንጨት ንዑስ ስርዓት ሙሉ ለሙሉ ተዘጋጅቷል፣ ይህም
    ወደፊት አዳዲስ ቋንቋዎችን መደገፍ ቀላል ማድረግ አለበት።

  • በCMake ላይ አማራጭ የግንባታ ስርዓት ታክሏል (እናመሰግናለን። ligfx!).
    re2cን ወደ CMake ለመተርጎም ሙከራዎች ለረጅም ጊዜ ተደርገዋል፣ ነገር ግን ከligfx በፊት ማንም
    የተሟላ መፍትሄ አቅርቧል.
    በAutotools ላይ ያለው የድሮ የግንባታ ስርዓት መደገፉን እና ጥቅም ላይ ማዋሉን ቀጥሏል፣
    እና በቅርብ ጊዜ ውስጥ እሱን ለመተው ምንም እቅዶች የሉም (በከፊል ላለመፍጠር
    ለስርጭት ገንቢዎች ችግሮች, በከፊል የድሮው የግንባታ ስርዓት
    ከአዲሱ የበለጠ የተረጋጋ እና አጭር)።
    ሁለቱም ስርዓቶች Travis CI ን በመጠቀም በእኩልነት በተከታታይ ይሞከራሉ።

  • ሲጠቀሙ የበይነገጽ ኮዱን በቅንብሮች ውስጥ የማዘጋጀት ችሎታ ታክሏል።
    አጠቃላይ ኤፒአይ (አጠቃላይ ኤፒአይ)። ከዚህ ቀደም አብዛኞቹ ኤፒአይዎች በቅጹ መገለጽ ነበረባቸው
    ተግባራት ወይም ተግባር ማክሮዎች. አሁን በዘፈቀደ መልክ ሊዘጋጁ ይችላሉ
    የ @@{ስም} ቅጽ ወይም @@ (ከሆነ) የተሰየሙ የአብነት ግቤቶች ያላቸው ሕብረቁምፊዎች
    አንድ መለኪያ ብቻ ነው እና ምንም አሻሚነት የለም). የኤፒአይ ቅጥ ሊዋቀር ይችላል።
    re2c:api:style (የተግባር እሴቱ የተግባር ዘይቤን ይገልፃል፣ የነጻ ቅፅ ዋጋው የዘፈቀደ ነው።)

  • የተሻሻለ የ -c, --start-conditions አማራጭ, ይህም ብዙ እንዲያዋህዱ ያስችልዎታል
    እርስ በርስ የተያያዙ ሌክሰሮች በአንድ re2c ብሎክ። አሁን መጠቀም ይችላሉ።
    መደበኛ ብሎኮች ከሁኔታዊ ጋር እኩል ናቸው እና ብዙ የማይዛመዱ ሁኔታዊ ያዘጋጃሉ።
    ብሎኮች በአንድ ፋይል ውስጥ።
    የተሻሻለ -r, --እንደገና ጥቅም ላይ የሚውሉ አማራጮች (ከአንድ ብሎክ የመጣ ኮድን እንደገና መጠቀም
    በሌሎች ብሎኮች) ከ -c ፣ --start-conditions እና -f ፣ -- ሊከማች የሚችል-ግዛት አማራጮች ጋር በማጣመር
    (በዘፈቀደ ቦታ ሊቋረጥ የሚችል መንግስታዊ ሌክሰር)
    እና በኋላ ላይ መፈጸሙን ይቀጥሉ).

  • አዲስ በተጨመረው ስልተ-ቀመር ውስጥ የግቤት ውሂቡን መጨረሻ ለማስተናገድ አንድ ሳንካ ተስተካክሏል።
    (የEOF ደንብ)፣ ይህም አልፎ አልፎ ወደ የተሳሳተ ሂደት እንዲመራ አድርጓል
    ተደራራቢ ደንቦች.

  • ቀላል የማስነሻ ሂደት። ከዚህ ቀደም የግንባታ ስርዓቱ በተለዋዋጭ ሁኔታ ቀድሞውኑ ለማግኘት ሞክሯል።
    እራሱን መልሶ ለመገንባት የሚያገለግል re2c የተሰራ።
    ይህ ወደ የተሳሳቱ ጥገኞች (ጥገኛ ግራፍ ስለ ተገኘ
    ተለዋዋጭ, አብዛኛዎቹ የግንባታ ስርዓቶች አይወዱም).
    አሁን፣ ሌክሰሮችን እንደገና ለመገንባት፣ በግልጽ ይፈለጋል
    የግንባታ ስርዓቱን ያዋቅሩ እና የRE2C_FOR_BUILD ተለዋዋጭ ያዘጋጁ።

ለዚህ ልቀት አስተዋጾ ላደረጉ ሁሉ እናመሰግናለን!

ምንጭ: linux.org.ru

አስተያየት ያክሉ