Metasyntaktinen muuttuja - Metasyntactic variable
Metasyntactic muuttuja on erityinen sana tai ilmaisu, tunnistettiin paikkamerkki on tietotekniikassa ja erityisesti tietokoneiden ohjelmointi . Nämä sanat löytyvät yleisesti lähdekoodista ja niitä on tarkoitus muuttaa tai korvata ennen todellista käyttöä. Sanat foo ja baari ovat hyviä esimerkkejä, koska niitä käytetään yli 330 Internet Engineering Task Force pyynnöt kommentit , asiakirjat, jotka määrittelevät perustavaa internet-teknologioita, kuten HTTP (www), TCP / IP , ja sähköposti protokollia .
Matemaattisen analogian mukaan metasyntaktinen muuttuja on sana, joka on muuttuja muille sanoille, aivan kuten algebrassa kirjaimia käytetään muuttujina numeroille.
Metasyntaktisia muuttujia käytetään nimeämään kokonaisuuksia, kuten muuttujia, toimintoja ja komentoja, joiden täsmällisellä identiteetillä ei ole merkitystä, ja ne osoittavat vain konseptin, joka on hyödyllinen ohjelmoinnin opettamisessa.
Yleisiä metasyntaktisia muuttujia
Koska englanti on useimpien tietokoneohjelmointikielien peruskieli tai lingua franca , nämä muuttujat näkyvät yleisesti jopa ohjelmissa ja esimerkkeissä ohjelmista, jotka on kirjoitettu muille puhutuille yleisöille.
Tyypilliset nimet voivat kuitenkin riippua alakulttuurista, joka on kehittynyt tietyn ohjelmointikielen ympärille .
Yleinen käyttö
Kaikissa ohjelmointikielissä yleisesti käytettyjä metasyntaktisia muuttujia ovat foobar , foo , bar , baz , qux , quux , quuz , corge , grault , garply , waldo , fred , plugh , xyzzy ja thud ; monet näistä sanoista ovat viittauksia peliin Colossal Cave Adventure . Wibbleä , heilumista , heilumista ja floppia käytetään myös Yhdistyneessä kuningaskunnassa.
Täydellinen viittaus löytyy MIT Pressin kirjasta The Hacker's Dictionary .
japanilainen
Japanissa sanoja hoge (ほ げ) ja piyo (ぴ よ) käytetään yleisesti, ja muita yleisiä sanoja ja variantteja ovat fuga (ふ が), hogera (ほ げ ら) ja hogehoge (ほ げ ほ げ). Huomaa, että -Ra on pluralizing päättyy Japanin ja reduplikaation käytetään myös pluralizing. Alkuperä hoge kuin metasyntactic muuttujaa ei tunneta, mutta sen uskotaan tähän mennessä 1980-luvun alussa.
Ranskan kieli
Ranskassa sanaa toto käytetään laajalti, ja siihen liittyvät paikkamerkit ovat variantteja tata , titi , tutu . Yksi yleisesti käytetty lähde toton käyttöä varten on viittaus osakemerkkiin, jota käytetään vitsaamaan Tête à Toton kanssa .
Esimerkkejä käytöstä
C
Seuraavassa esimerkissä funktion nimi foo ja muuttujan nimi bar ovat metasyntactic muuttujia. Rivit, jotka alkavat // ovat kommentteja.
// The function named foo
int foo(void)
{
// Declare the variable bar and set the value to 1
int bar = 1;
return bar;
}
C ++
Toimintojen prototyypit, joissa on esimerkkejä eri argumenttien siirtomekanismeista:
void Foo(Fruit bar);
void Foo(Fruit* bar);
void Foo(const Fruit& bar);
Esimerkki C ++ -kielen toimintojen ylikuormitusominaisuuksista
void Foo(int bar);
void Foo(int bar, int baz);
void Foo(int bar, int baz, int qux);
Python
Roskapostit , kinkku ja munat ovat tärkeimmät metasyntaktiset muuttujat, joita käytetään Python -ohjelmointikielessä . Tämä on viittaus Monty Pythonin kuuluisaan komedialuonnokseen " Roskaposti ", kielen nimimerkki . Seuraavassa esimerkissä roskapostit , kinkku ja munat ovat metasyntaktisia muuttujia ja #: lla alkavat rivit ovat kommentteja.
# Define a function named spam
def spam():
# Define the variable ham
ham = "Hello World!"
# Define the variable eggs
eggs = 1
return
IETF: n kommenttipyynnöt
Sekä IETF RFC: t että tietokoneohjelmointikielet esitetään pelkkänä tekstinä , minkä vuoksi metasyntaktiset muuttujat on erotettava nimeämiskäytännöllä, koska se ei olisi ilmeistä asiayhteydestä.
Tässä on esimerkki virallisesta IETF -asiakirjasta, jossa selitetään sähköpostiprotokollat (RFC 772 - mainittu RFC 3092):
All is well; now the recipients can be specified.
S: MRCP TO:<Foo@Y> <CRLF>
R: 200 OK
S: MRCP TO:<Raboof@Y> <CRLF>
R: 553 No such user here
S: MRCP TO:<bar@Y> <CRLF>
R: 200 OK
S: MRCP TO:<@Y,@X,fubar@Z> <CRLF>
R: 200 OK
Note that the failure of "Raboof" has no effect on the storage of
mail for "Foo", "bar" or the mail to be forwarded to "fubar@Z"
through host "X".
(Texinfon dokumentaatiossa korostetaan eroa metavariablesin ja pelkkien ohjelmointikielessä käytettyjen muuttujien välillä, jotka dokumentoidaan joissakin texinfo -tiedostoissa seuraavasti: "Käytä @var -komentoa metasyntaktisten muuttujien osoittamiseen. Metasyntaktinen muuttuja tarkoittaa jotain muuta tekstiä. Sinun on esimerkiksi käytettävä metasyntaktista muuttujaa funktion dokumentaatiossa kuvaamaan sille funktiolle välitetyt argumentit. Älä käytä @var -ohjelmaa tiettyjen muuttujien nimissä ohjelmointikielissä. Nämä ovat nimenomaisia nimiä ohjelmasta, joten @code on heille oikea. ")
Toinen seikka, joka heijastuu yllä olevassa esimerkissä, on yleissopimus, jonka mukaan metavaroitava aine on korvattava tasaisesti samalla esiintymällä kaikissa esiintymisissään tietyssä kaaviossa. Tämä on päinvastoin kuin muodollisissa kielioppeissa olevat ei -terminaaliset symbolit, joissa tuotannon oikealla puolella olevat ei -terminaalit voidaan korvata eri tapauksilla.
Esimerkkitiedot
SQL
On tavallista käyttää nimeä ACME esimerkkinä SQL- tietokannoissa ja paikkamerkkinä yrityksen nimenä opetuksessa. Termiä 'ACME-tietokanta' käytetään yleisesti koulutukseen tai vain esimerkkitietokantaan, jota käytetään yksinomaan koulutukseen tai testaukseen. ACME on myös yleisesti käytetty asiakirjat, joista ilmenee SQL käyttöesimerkeistä, yhteinen käytäntö monissa koulutus teksteihin sekä teknisen dokumentaation yrityksiltä kuten Microsoft ja Oracle .
Katso myös
- Metavariable (logiikka)
- xyzzy
- Alice ja Bob
- John Doe
- Fnord
- Vapaat ja sidotut muuttujat
- Gadget
- Lorem ipsum
- Tilapäismuodoste
- Paikkamerkin nimi
- Widget
- Smurffi
Viitteet
Ulkoiset linkit
- Metasyntaktisen muuttujan määritelmä esimerkeillä.
- Esimerkkejä Commonwealth Hackishissa käytetyistä metasyntaktisista muuttujista , kuten wombat .
- Muuttuva "foo" ja muut ohjelmointiominaisuudet