Te tukunga o te re2c 2.0 kaiwhakawhanake wetewete kupu

i tupu tuku re2c 2.0, he kaihanga tātari kupu kore utu mo nga reo C me C++. Ko te kaupapa re2c i hangaia i te tau 1993 e Peter Bamboulis hei kaihanga whakamatautau mo nga kaitirotiro kupu tino tere, he rereke mai i etahi atu kaihanga na te tere o te waehere i hangaia me te atanga kaiwhakamahi tino ngawari e taea ai e nga kaitirotiro te whakauru ngawari me te pai ki te whakauru ki roto. turanga waehere. Mai i tera wa, kua whakawhanakehia te kaupapa e te hapori me te noho tonu hei papa mo nga whakamatautau me te rangahau i te wahanga o te wetereo okawa me nga miihini whenua mutunga kore.

Nga huringa matua:

  • He tautoko taapiri mo te reo Haere (whakahohea ma te kowhiringa "--lang go" mo re2c, hei kaupapa re2go motuhake ranei). Ko nga tuhinga mo C me Go ka hangaia mai i te kuputuhi kotahi, engari he rereke nga tauira waehere. Ko te punaha whakangao waehere i roto i te re2c kua oti te hoahoa ano, kia maamaa ake te tautoko i nga reo hou a meake nei.
  • Kua taapirihia he punaha hanga rereke mo CMake (whakawhetai ligfx!). Kua roa te ngana ki te whakamaori i te re2c ki CMake, engari tae noa ki te ligfx karekau he tangata i kii he otinga tino. Kei te tautokohia me te whakamahi tonu te punaha hanga Autotools tawhito, a kaore he mahere ki te whakarere i a ia i nga ra kei mua (ko tetahi waahanga hei karo i te hanga raruraru mo nga kaiwhakawhanake tohatoha, ko tetahi waahanga na te mea he pai ake te punaha hanga tawhito me te poto ake i te mea hou. ). Ka whakamatauhia nga punaha e rua ma te whakamahi Travis CI.
  • I taapirihia te kaha ki te tautuhi i te waehere atanga i roto i nga whirihoranga ina whakamahi ana i te API whanui. I mua, ko te nuinga o nga API me tohu ki te ahua o nga mahi me nga tonotono mahi. Inaianei ka taea te tohu ki te ahua o nga aho noa me nga tawhā tauira kua whakaingoatia o te ahua "@@{ingoa}" ranei "@@" noa (mehemea he kotahi noa te tawhā me te kore he rangirua). Ko te kāhua API he mea whakarite e te re2c:api:style whirihoranga (ko te uara o nga mahi e tohu ana i te ahua mahi, me te puka-kore e tohu ana i te ahua koretake).
  • Kua pai ake te mahi o te whiringa "-c", "—start-conditions", ka taea e koe te whakakotahi i te maha o nga reta honohono ki te poraka re2c kotahi. Inaianei ka taea e koe te whakamahi poraka auau me nga mea here me te tautuhi i etahi poraka here kore hono i roto i te konae kotahi. He pai ake te mahi o te whiringa "-r", "--reuse" (te whakamahi ano i te waehere mai i tetahi poraka i etahi atu poraka) me te "-c", "--start-conditions" me "-f", "-- storable-state" nga whiringa (he kaikorero korero ka taea te haukotia i nga wa katoa ka haere tonu te mahi i muri mai).
  • Kua whakatikahia he pepeke i roto i te huringa mutunga-o-whakauru (EOF ture) hātepe, i te mea onge te hua ka he te tukatuka o nga ture inaki.
  • Kua whakangwarihia te tukanga bootstrap. I mua, i ngana te punaha hanga ki te rapu hihiri i tetahi re2c kua oti te hanga ka taea te whakamahi hei hanga ano. Na tenei i hua mai nga whakawhirinakitanga hee (na te mea he hihiko te kauwhata whakawhirinaki, kaore e pai ki te nuinga o nga punaha hanga). Inaianei, ki te hanga ano i nga lexers, me tino whirihora e koe te punaha hanga me te tautuhi i te taurangi RE2C_FOR_BUILD.

Source: opennet.ru

Tāpiri i te kōrero