Apa sintaks bahasa pemrograman. Bahasa pemrograman. Kosa kata, sintaksis, semantik bahasa Jepang. Huruf latin kecil dan besar

Alfabet Bahasa adalah sekumpulan simbol yang digunakan dalam suatu bahasa. Bahasa C, tidak seperti banyak bahasa pemrograman lainnya, membedakan antara huruf besar dan huruf kecil.

Bahasa lisan biasa terdiri dari empat unsur dasar: simbol, kata, frasa, dan kalimat. Bahasa algoritmik mengandung unsur-unsur yang serupa, hanya kata-kata yang disebut konstruksi dasar, frasa disebut ekspresi, dan kalimat disebut operator. Bahasa algoritmik (seperti bahasa lainnya) dibentuk oleh tiga komponen: alfabet, sintaksis, dan semantik.
Alfabet adalah sekumpulan karakter tetap untuk bahasa tertentu (huruf, angka, karakter khusus, dll.) yang dapat digunakan saat menulis program.
Sintaks adalah aturan untuk membangun konstruksi khusus dari simbol-simbol alfabet, yang dengannya suatu algoritma dikompilasi.

Semantik adalah sistem aturan untuk menafsirkan konstruksi bahasa. Dengan demikian, suatu program disusun dengan menggabungkan karakter alfabet sesuai dengan kaidah sintaksis dan memperhatikan kaidah semantik.

12) Alfabet bahasa C++. Kata fungsi bahasa C++.

Huruf besar dan kecil dari alfabet Latin;

2. Angka dari 0 sampai 9;

3. Tanda khusus (-, /, ., , (), +, -), dst;

4. Huruf Rusia dapat digunakan dalam komentar, string, dan konstanta karakter.

Komentar dibentuk sebagai rangkaian karakter yang dibatasi oleh /* di kiri dan */ di kanan. Komentar dapat dipisahkan di sebelah kiri dengan simbol // (dalam hal ini komentar hanya dapat ditulis dalam satu baris).

/* Dalam huruf miring saya menulis komentar pada suatu program dalam C;

// atau dalam satu baris, setelah dua tanda hubung. Huruf miring diambil secara kondisional agar lebih mudah dicerna.

// Huruf miring diambil secara kondisional, agar lebih mudah dicerna.

Identifier adalah rangkaian huruf, angka, dan garis bawah yang diawali dengan huruf atau garis bawah.

Huruf besar dan huruf kecil dibedakan berdasarkan pengidentifikasi yang menunjukkan kata fungsi, konstanta, konstanta string, tanda operasi, dan tanda baca.



Kata layanan adalah pengidentifikasi yang dicadangkan dalam bahasa yang tidak dapat dipilih sebagai nama variabel dan konstanta.

Contoh kata fungsi:

Alfabet C++ meliputi:

  • huruf latin besar dan kecil serta garis bawah;
  • Angka Arab dari 0 sampai 9;
  • karakter khusus: ? { } , ¦ () + - / % * . \ ‘ : ? < = > ! & # ~ - ; ^
  • karakter spasi putih: spasi, tab, baris baru.

Leksem-leksem bahasa terbentuk dari karakter-karakter abjad:

  • pengidentifikasi;
  • kata-kata kunci (yang dicadangkan);
  • tanda-tanda operasi;
  • konstanta;
  • pembatas (tanda kurung, titik, koma, spasi).

Batasan token ditentukan oleh token lain, seperti pembatas atau tanda operasi.

13) Aturan untuk membuat pengidentifikasi. Struktur program di C++.

PENGENAL - ini adalah nama objek perangkat lunak. Pengenal dapat menggunakan huruf latin, angka, dan garis bawah. Huruf besar dan huruf kecil dibedakan, misalnya sysop, SySoP dan SYSOP adalah tiga nama yang berbeda. Karakter pertama pengenal dapat berupa huruf atau garis bawah, namun tidak boleh berupa angka. Spasi tidak diperbolehkan dalam nama.

  1. Karakter pertama pengenal C++ hanya boleh berupa huruf.
  2. Karakter pengenal berikut dapat berupa huruf, angka, dan garis bawah.
  3. Panjang pengenal tidak terbatas (pada kenyataannya, panjangnya tergantung pada implementasi sistem pemrograman).

Bertentangan dengan aturan pembentukan kata di C++, terdapat batasan mengenai penggunaan garis bawah sebagai huruf pertama dalam pengidentifikasi. Fitur implementasi membuat penggunaan pengidentifikasi yang dimulai dengan karakter ini tidak diinginkan.

Panjang pengidentifikasi tidak dibatasi oleh standar, tetapi beberapa kompiler dan penghubung memberlakukan batasan pada pengidentifikasi tersebut. Pengidentifikasi dibuat pada tahap mendeklarasikan variabel, fungsi, tipe, dll., setelah itu dapat digunakan dalam pernyataan program selanjutnya. Saat memilih ID, ingatlah hal berikut:

  • pengenal tidak boleh sama dengan kata kunci dan nama objek bahasa standar yang digunakan;
  • Tidak disarankan untuk memulai pengidentifikasi dengan garis bawah, karena mungkin bertepatan dengan nama fungsi atau variabel sistem, dan, selain itu, hal ini mengurangi portabilitas program;
  • Pengidentifikasi yang digunakan untuk mendefinisikan variabel eksternal tunduk pada batasan linker (menggunakan linker atau versi linker yang berbeda menerapkan persyaratan berbeda pada nama variabel eksternal).

Konstanta, variabel, tipenya.

Konstanta disebut besaran yang tidak dapat diubah. Ada konstanta integer, real, karakter, dan string. Kompilator, setelah mengidentifikasi suatu konstanta sebagai sebuah leksem, mengklasifikasikannya sebagai salah satu tipe berdasarkan tampilannya (Anda dapat menentukan sendiri format konstanta tersebut).

Konstanta bilangan bulat.

Menurut aturan bahasa C, bilangan tanpa titik desimal dan tanpa eksponen dianggap sebagai bilangan bulat. Oleh karena itu, kompiler menentukan dengan menulis sebuah konstanta apakah itu bilangan bulat atau nyata. Jika Anda perlu memasukkan konstanta bertipe panjang, maka Anda perlu menentukan tanda L atau l di akhir angka. Jika pada penulisan suatu konstanta bilangan bulat diawali dengan angka 0, maka konstanta tersebut diartikan sebagai bilangan oktal, tetapi jika bilangan bulat diawali dengan karakter 0x atau 0X maka diartikan sebagai bilangan heksadesimal.

Variabel adalah "sel" RAM komputer tempat informasi apa pun dapat disimpan. Dalam pemrograman, seperti halnya matematika, suatu variabel dapat memiliki nama yang terdiri dari satu huruf latin, tetapi dapat juga terdiri dari beberapa karakter, satu kata utuh, atau beberapa kata.

Tipe Data

Dalam bahasa C++ semua variabel mempunyai tipe data tertentu. Misalnya, variabel bertipe integer tidak boleh berisi apa pun selain bilangan bulat, dan variabel bertipe floating point hanya boleh berisi bilangan pecahan.

Tipe data ditugaskan ke variabel ketika dideklarasikan atau diinisialisasi. Di bawah ini adalah tipe data C++ utama yang kita perlukan.

Tipe data dasar di C++

  • ke dalam- tipe data bilangan bulat.
  • mengambang- tipe data titik mengambang.
  • dobel- tipe data floating point presisi ganda.
  • arang- tipe data karakter.
  • bodoh- tipe data logis.

Deklarasi Variabel

Mendeklarasikan variabel dalam C++ bekerja seperti ini: pertama Anda menentukan tipe data untuk variabel ini dan kemudian nama variabel ini.

15) Operasi, operan, ekspresi dalam C++.

Operan - itu adalah konstanta, literal, pengidentifikasi, pemanggilan fungsi, ekspresi indeks, ekspresi pemilihan elemen, atau ekspresi yang lebih kompleks yang dibentuk oleh kombinasi operan, tanda operator, dan tanda kurung. Operan apa pun yang mempunyai nilai konstan disebut ekspresi konstan. Setiap operan memiliki tipe.

Jika suatu konstanta digunakan sebagai operan, maka konstanta tersebut sesuai dengan nilai dan jenis konstanta yang mewakilinya. Konstanta bilangan bulat dapat bertipe int, long, unsigned int, unsigned long, bergantung pada nilai dan bentuk notasinya. Konstanta karakter bertipe int. Konstanta floating point selalu bertipe ganda.

Operan adalah konstanta, variabel, elemen array, atau nilai yang dikembalikan oleh suatu fungsi. Operan adalah konstanta, literal, pengidentifikasi, pemanggilan fungsi, ekspresi indeks, ekspresi pemilihan elemen, atau ekspresi yang lebih kompleks yang dibentuk oleh kombinasi operan, tanda operator, dan tanda kurung.

Operasi adalah tindakan yang dilakukan pada operan.

Ekspresi- urutan operan dan tanda operasi - catatan dalam program yang nilai terhitungnya dicirikan oleh tipe data.

Berbagai operasi dapat dilakukan pada objek dalam bahasa C:

  • operasi penugasan;
  • operasi relasional;
  • hitung;
  • logis;
  • operasi shift.

Hasil operasinya adalah angka.

Operator penugasan

Operasi penugasan dilambangkan dengan simbol = dan dilakukan dalam 2 langkah:

  • ekspresi di sisi kanan dihitung;
  • hasilnya ditugaskan ke operan di sisi kiri:

objek = ekspresi;

Contoh:

ke dalam a = 4; // variabel a diberi nilai 4
ke dalam b;
b = a + 2; // variabel b diberi nilai 6,

// dihitung di sisi kanan

Operasi relasi

Operasi relasi dasar:

  • == setara - tes kesetaraan;
  • != tidak sama - periksa ketidaksetaraan;
  • < lebih sedikit;
  • > lagi;
  • <= kurang dari atau sama dengan;
  • >= lebih besar atau sama dengan.

Operasi aritmatika

Operasi biner dasar, dalam urutan prioritas yang menurun:

  • perkalian * ;
  • divisi / ;
  • tambahan + ;
  • pengurangan - ;
  • sisa pembagian bilangan bulat % .

Operasi unary dasar:

  • kenaikan (naik 1) ++ ;
  • penurunan (turun 1) -- ;
  • tanda perubahan - .

Operasi logis bersyarat dasar:

  • && - DAN (biner) - eksekusi simultan dari semua operasi relasi diperlukan;
  • || - OR (biner) - setidaknya diperlukan satu operasi relasional;
  • ! - BUKAN (unary) - tidak diperlukan eksekusi operasi relasional.

Untuk mulai membuat program yang paling sederhana dan kemudian kompleks di Pascal, mari kita kenali struktur dan elemen bahasa pemrograman ini. Kami menggunakan sintaksis dan semantik untuk mendeskripsikan setiap elemen bahasa. Apa yang dimaksud dengan sintaksis dan semantik Pascal? Aturan untuk membangun elemen ditetapkan oleh sintaksis, dan semantik dikaitkan dengan makna dan aturan penggunaan elemen bahasa tertentu yang definisi sintaksisnya telah ditetapkan.

Alfabet. Sintaks dan semantik:

Sekarang mari kita bicara tentang alfabet Pascal. Pertama-tama, alfabet adalah daftar karakter yang diperbolehkan dalam suatu bahasa. Bahasa pemrograman Pascal memiliki kumpulan simbol penentu dasar berikut:

Huruf latin kecil dan besar:

Garis bawah: "_" Spasi: " " Angka Arab dari 0 sampai 9:

Daftar tanda operasi:

Urutan batasan:

Penentu:

Kata fungsi:

Konstruksi dasar bahasa Pascal: nama, angka, string. Nama (atau pengidentifikasi) adalah elemen bahasa - label, konstanta, variabel, tipe, prosedur, modul, fungsi, objek. Nama (identifier) ​​​​di lingkungan Turbo Pascal mencakup angka, huruf alfabet Latin, dan karakter garis bawah. Tidak ada perbedaan antara huruf besar dan huruf kecil (PROGRAM, Program dan program semuanya mempunyai arti yang sama).

Tidak boleh ada angka di urutan pertama dalam pengidentifikasi (yaitu 1program salah, program3 dan program2file - pengidentifikasi seperti itu diperbolehkan). Karakter "_" dapat berada di posisi apa pun (yaitu _program, program_, program_file adalah pengidentifikasi yang valid). Panjang pengenalnya bisa tidak terbatas, tetapi hanya 63 karakter pertama yang bermakna. Kata-kata layanan (yang dicadangkan) tidak dapat bertindak sebagai nama.

Saat memisahkan angka, pengidentifikasi, atau kata-kata yang dicadangkan satu sama lain, pemisah digunakan: spasi dan tab, umpan baris, komentar. Anda dapat menempatkan pembatas dalam jumlah tidak terbatas dalam kombinasi apa pun di mana pun dalam kode sumber program. Hal ini memungkinkan Anda untuk memvisualisasikan struktur program yang sedang dibuat.

Dalam kode sumber program, komentar diapit dengan tanda kurung kurawal "(... )", atau dalam tanda kurung berbentuk "(*...*)". Komentar dapat menjangkau jumlah baris yang tidak terbatas. Dalam Pascal, bilangan sering direpresentasikan dalam sistem bilangan desimal (integer dan real). Tanda positif suatu bilangan tidak diperhitungkan, sehingga dapat dihilangkan. Bilangan bulat direpresentasikan dalam bentuk tanpa titik desimal:

395 -67 7808 +126

Dan yang nyata direpresentasikan dalam bentuk dengan koma desimal:

597.2 1.79 -5.526 8.0004

Jika perlu, dimungkinkan untuk menulis angka menggunakan notasi desimal (dilambangkan dengan E):

3E09 = 3*10^9 -5,34E6 = -5,34*10^6 29,3E-29 = 29,3*10^(-29)

Metode untuk mengatur bahasa

Konsep bahasa. Definisi formal bahasa

Secara umum, bahasa adalah seperangkat simbol dan aturan yang menetapkan cara untuk menggabungkan simbol-simbol ini satu sama lain untuk menulis teks yang bermakna. Dasar dari setiap bahasa alami atau buatan adalah alfabet, yang mendefinisikan sekumpulan simbol bahasa yang valid.

Alfabet adalah sekumpulan simbol bahasa valid yang dapat dihitung. Kumpulan simbol ini melambangkan V. Menurut definisi formalnya, suatu alfabet tidak harus berupa himpunan yang berhingga (enumerable), tetapi pada kenyataannya semua bahasa yang ada dibangun atas dasar abjad yang berhingga.

String karakter a adalah string di atas alfabet V: A( V), jika hanya menyertakan karakter yang termasuk dalam kumpulan karakter V. Untuk alfabet apa pun V string kosong l mungkin atau mungkin bukan string l ( V). Kondisi ini ditentukan tambahan.

Jika V– beberapa alfabet, lalu:

V⁺– himpunan semua string di atas alfabet V tanpa aku;

V*- himpunan semua string di atas alfabet V, termasuk l.

Kesetaraan itu adil: V*=V + È(λ)

Lidah L di atas alfabet V: aku( V) adalah subset rantai tertentu yang panjangnya berhingga yang dapat dihitung dari himpunan semua rantai dalam alfabet V. Ada dua kesimpulan yang dapat diambil dari definisi ini: pertama, rangkaian rantai suatu bahasa tidak harus terbatas; kedua, meskipun setiap rangkaian simbol yang termasuk dalam suatu bahasa harus mempunyai panjang yang berhingga, panjangnya bisa sewenang-wenang dan tidak dibatasi secara formal oleh apa pun.

Semua bahasa yang ada termasuk dalam definisi ini. Sebagian besar bahasa alami dan buatan mengandung jumlah string yang tidak terbatas. Selain itu, di sebagian besar bahasa, panjang rantainya tidak terbatas. Rangkaian lambang yang dimiliki suatu bahasa disebut kalimat bahasa tersebut, dan himpunan rangkaian lambang bahasa tertentu L(V) disebut himpunan kalimat bahasa tersebut.

Dua bahasa L(V) dan L"(V) bertepatan (setara): L'(V)=L(V), jika L'(V)⊆L(V) dan L(V)⊆L'( DI DALAM) .

Kumpulan string karakter yang valid untuk bahasa yang setara harus sama.

Dua bahasa L(V) dan L'(V) hampir setara jika L'(V)È(l)= L(V)È(l). Kumpulan string karakter yang valid dari bahasa yang hampir setara mungkin hanya berbeda dengan string karakter yang kosong.

Jadi, setiap bahasa adalah sekumpulan rantai simbol pada alfabet tertentu. Namun selain alfabet, bahasa juga menyediakan aturan spesifik untuk membangun rantai yang dapat diterima, karena tidak semua rantai pada alfabet tertentu termasuk dalam bahasa tersebut. Simbol dapat digabungkan menjadi kata atau leksem - konstruksi dasar bahasa; kalimat - konstruksi yang lebih kompleks - dibangun atas dasar itu. Keduanya, secara umum, merupakan rangkaian simbol, dan memberikan beberapa aturan konstruksi. Oleh karena itu, perlu untuk menentukan aturan-aturan ini, atau, secara tegas, untuk menentukan bahasanya.



Anda dapat mengatur bahasa dengan tiga cara:

1. Mencantumkan semua string bahasa yang valid.

2. Menunjukkan metode pembentukan rantai bahasa (menentukan tata bahasa)

3. Mendefinisikan metode untuk mengenali string bahasa.

Metode pertama adalah murni formal dan tidak digunakan dalam praktik, karena sebagian besar bahasa mengandung rantai valid yang jumlahnya tak terbatas dan tidak mungkin untuk mencantumkannya.

Metode kedua memberikan beberapa gambaran tentang aturan yang digunakan untuk membangun rantai bahasa. Kemudian rantai apa pun yang dibangun menggunakan aturan simbol dan alfabet bahasa tersebut akan menjadi milik bahasa tersebut.

Metode ketiga melibatkan pembuatan perangkat logis tertentu (pengenal) - sebuah robot yang menerima serangkaian karakter sebagai masukan, dan pada keluarannya memberikan jawaban: apakah rantai ini termasuk dalam bahasa tertentu atau tidak.

Berbicara tentang bahasa apa pun, kita dapat membedakan sintaksis dan semantik. Selain itu, penerjemah juga menangani konstruksi leksikal (leksem), yang ditentukan oleh kosakata bahasa tersebut.

Sintaks bahasa adalah seperangkat aturan yang mendefinisikan konstruksi bahasa yang dapat diterima. Sintaks mendefinisikan "bentuk bahasa" - ini menentukan sekumpulan string karakter milik bahasa tersebut. Seringkali, sintaksis suatu bahasa dapat ditentukan dalam bentuk seperangkat aturan yang ketat, tetapi pernyataan ini sepenuhnya benar hanya untuk bahasa yang murni formal.

Semantik bahasa adalah bagian bahasa yang mendefinisikan makna kalimat dalam suatu bahasa. Semantik menentukan "isi bahasa" - ia menetapkan makna untuk semua rangkaian bahasa yang valid. Semantik untuk sebagian besar bahasa ditentukan dengan metode informal.

Kosakata adalah kumpulan kata (kosakata) suatu bahasa. Kata atau satuan leksikal suatu bahasa merupakan suatu konstruksi yang terdiri dari unsur-unsur alfabet bahasa dan tidak mengandung konstruksi lain. Dengan kata lain, suatu satuan leksikal hanya dapat memuat simbol-simbol dasar dan tidak dapat memuat satuan leksikal lainnya.

Satuan leksikal bahasa Rusia adalah kata-kata dalam bahasa Rusia, dan tanda baca serta spasi merupakan pemisah yang tidak membentuk leksem. Satuan leksikal aljabar adalah bilangan, tanda operasi matematika, sebutan fungsi dan besaran yang tidak diketahui. Dalam bahasa pemrograman, unit leksikal adalah kata kunci, pengidentifikasi, konstanta, label, dan tanda operasi; mereka juga mengandung pembatas (koma, tanda kurung, titik koma, dll.)

Dengan menggunakan terminologi matematika, kita dapat mendefinisikan bahasa sebagai suatu objek yang mencakup komponen-komponen berikut:

    Seperangkat informasi atau “makna” yang menjadi ciri rencana isi suatu bahasa tertentu;

    Banyak "teks", mis. rangkaian sinyal fisik yang menjadi ciri rencana ekspresi bahasa tertentu;

    Pemetaan yang didefinisikan pada sekumpulan teks dan menugaskan setiap elemen kumpulan ini elemen-elemen tertentu dari kumpulan makna, serta pemetaan terbalik.

Setelah menerima pesan yang bermakna, seseorang bereaksi dengan cara tertentu, dengan kata lain informasi semantik yang terkandung dalam pesan tersebut mempengaruhi perilakunya selanjutnya. Banyak arti dapat dianggap totalitas informasi yang dirasakan atau dikirimkan oleh seseorang.

Elemen banyak teks adalah teks atau kalimat suatu bahasa yang mematuhi aturan konstruksi yang ketat.

Aturan yang menggambarkan teks-teks yang termasuk dalam suatu bahasa sebagai rangkaian simbol-simbol tertentu disebut sintaksis, dan aturan yang menentukan sisi semantik dari rantai yang termasuk dalam bahasa, yaitu. memberi mereka makna semantik tertentu, - semantik dari bahasa ini.

Tugas yang paling penting adalah mempelajari terjemahan dari satu bahasa ke bahasa lain sebagai proses algoritmik yang tepat. Tugas penerjemahan dari bahasa A ke bahasa B adalah memetakan himpunan teks bahasa A ke dalam himpunan teks bahasa B, membiarkan gambaran semantik teks apa pun tetap invarian. Penerjemahan dapat bersifat semantik atau formal. Untuk lebih memahami kedua metode ini, kami memperkenalkan notasi berikut:

T A– banyak teks bahasa A,

T DI DALAM– banyak teks bahasa DI DALAM,

S– banyak arti bahasa A Dan DI DALAM(untuk kesederhanaan, kami berasumsi bahwa kumpulan bahasa semantik bertepatan),

F A– fungsi yang ditampilkan T A V S,

F B– fungsi yang ditampilkan S V T DI DALAM .

    Terjemahan semantik (nosional):

F A : T AS F B : ST DI DALAM

Biarkan ada beberapa teks TT A, Kemudian:

    F A (T) = SS

    F B (S) T'T DI DALAM .

Jadi, dengan menerjemahkan teks TT A adalah teksnya TT DI DALAM .

    Terjemahan formal.

Metode ini terdiri dari spesifikasi eksplisit suatu algoritma untuk menghitung suatu fungsi yang merupakan superposisi fungsi F A Dan F B. Mari kita nyatakan superposisi ini dengan SAYA AB .

SAYA AB = F B (F A (T)).

3.2. Bentuk Backus normal

Definisi : Bahasa yang mendeskripsikan sifat-sifat bahasa lain disebut bahasa metal.

Jadi, metabahasa yang mendeskripsikan bahasa Rusia bisa berupa bahasa Rusia yang sama atau bahasa lisan lainnya, misalnya bahasa Inggris. Penguraian bahasa pemrograman dengan cara konvensional hanya dibenarkan jika digunakan hanya untuk pembelajaran bahasa tersebut oleh pemrogram pengguna. Saat ini, sejumlah bahasa digunakan untuk mendeskripsikan sintaksis bahasa algoritmik untuk diproses lebih lanjut dan dipelajari dengan cara matematika. Inilah yang disebut bahasa metasintaksis. Bahasa khusus juga sedang dikembangkan untuk menggambarkan semantik - bahasa metasemantik.

Bahasa metasintaksis yang paling umum adalah bentuk Beckus normal(atau rumus metalinguistik). Tujuan utama formulir Backus adalah untuk menyajikan dalam bentuk yang ringkas dan ringkas aturan-aturan yang sangat formal dan tidak ambigu untuk menulis konstruksi dasar bahasa pemrograman yang sedang dijelaskan.

Kelas objek yang digunakan dalam formulir Backus:

    Rantai simbol bahasa dasar.

    Nama-nama konstruksi bahasa yang dideskripsikan, atau disebut variabel metalinguistik.

    Makna variabel metalinguistik merupakan rangkaian simbol-simbol dasar bahasa yang dideskripsikan. :: = Kopula metalinguistik

.< >Ini menghubungkan sisi kiri dan kanan rumus.

Setiap varian merupakan rantai yang terdiri dari variabel metalinguistik dan simbol dasar. Untuk membangun konstruksi yang ditentukan oleh rumus, Anda perlu memilih beberapa opsi konstruksi dari sisi kanan rumus dan, dengan menggunakan rumus yang sesuai, gantikan beberapa rantai simbol dasar untuk setiap variabel metalinguistik. Varian di sebelah kanan rumus dipisahkan oleh kata penghubung metalinguistik |, yang artinya “atau”. Variabel metalinguistik ditunjukkan dengan kata-kata yang diapit tanda kurung siku

    <число>:: = <число без знака> | + <число без знака>| – <число без знака>

    <число без знака> :: = <десятичное число> | <порядок> | <десятичное число> <порядок>

    <десятичное число> :: = <целое без знака> | <правильная дробь> | <целое без знака> <правильная дробь>

    <порядок> :: = , yang menjelaskan arti dari konstruksi yang dijelaskan. <целое>

    <правильная дробь> ::= .<целое без знака>

    <целое> ::= <целое без знака> | + <целое без знака> | – <целое без знака>

    <целое без знака> :: = <цифра> | <целое без знака> <цифра>

    <цифра> :: = 0|1|2|3|4|5|6|7|8|9

Angka didefinisikan dalam bahasa menggunakan aturan berikut: e , yang menjelaskan arti dari konstruksi yang dijelaskan. -2

<число>, <число без знака>, <десятичное число> <порядок>, <целое без знака> <правильная дробь> <порядок>, <цифра> <правильная дробь> <порядок>, 1 <правильная дробь> <порядок >, 1. <целое без знака> <порядок>, 1. <цифра> <порядок>, 1. 5 <порядок>, 1. Contoh 7:<целое>, 1. Penurunan menggunakan rumus bilangan 1.5<целое без знака>, 1. 5e<цифра> , 1. 5 e-

5e- 5 e-2 . , Ciri menarik dari rumus metalinguistik adalah kehadirannya di dalamnya

  • rekursi

    itu. penggunaan struktur yang dijelaskan itu sendiri untuk menggambarkan beberapa struktur.