Cara Membedakan Analisis Sintaks dan Analisis Semantik?

Perbedaan yang menonjol antara analisis sintaks dan analisis semantik adalah analisis sintaksis mengambil token yang dihasilkan oleh analisis leksikal dan menghasilkan pohon parse sementara analisis semantik memeriksa apakah pohon parse yang dihasilkan oleh analisis sintaks mengikuti aturan bahasa.

Umumnya, seorang programmer menulis program menggunakan bahasa pemrograman tingkat tinggi. Dia dapat memahami program-program ini, tetapi komputer tidak memahami kode-kode ini. Maka dari itu, perlu untuk mengubah kode sumber menjadi kode mesin yang dapat dimengerti mesin. Kompiler adalah program perangkat lunak yang membantu melakukan proses konversi ini . Seluruh proses kompilasi terdiri dari urutan fase. Output dari satu fase menjadi input untuk fase berikutnya. Tahap pertama kompilasi adalah analisis leksikal. Ia membaca kode sumber karakter demi karakter dan mengubahnya menjadi leksem yang bermakna dalam bentuk token. Selanjutnya, fase kedua dan ketiga adalah sintaks dan analisis semantik.

Topik bahasan kami tentang:

  1. Apa itu Analisis Sintaks -Definisi, Fungsionalitas 2. Apa itu Analisis Semantik? -Definisi, Fungsionalitas 3. Perbedaan Antara Analisis Sintaks dan Analisis Semantik    -Perbandingan perbedaan utama

Istilah Utama

Kompiler, Analisis Leksikal, Pohon Parse, Analisis Semantik, Analisis Sintaks

Yang perlu anda ketahui tentang Analisis Sintaks

Analisis sintaks adalah tahap kedua dari proses kompilasi. Dibutuhkan token yang dihasilkan pada fase analisis leksikal sebagai input dan menghasilkan pohon parse (pohon sintaksis) sebagai output. Pada fase ini, parse memeriksa apakah ekspresi yang dibuat oleh token benar secara sintaksis atau tidak. Jadi, ini juga disebut penguraian. Selain itu, parse memeriksa apakah pengaturan token diperiksa terhadap tata bahasa kode sumber.

Yang perlu anda ketahui tentang Analisis Semantik

Analisis semantik adalah fase ketiga dari proses kompilasi. Ini memeriksa apakah pohon parse yang dihasilkan oleh fase analisis sintaks mengikuti aturan bahasa. Penganalisis semantik melacak pengidentifikasi, jenis dan ekspresinya. Akhirnya, analisis semantik menghasilkan pohon sintaks beranotasi sebagai output.

Perbedaan Antara Analisis Sintaks dan Analisis Semantik

Definisi

Analisis sintaksis adalah proses menganalisis serangkaian simbol baik dalam bahasa alami, bahasa komputer, atau struktur data yang sesuai dengan aturan tata bahasa formal. Sebaliknya, analisis semantik adalah proses memeriksa apakah pohon parse yang dihasilkan sesuai dengan aturan bahasa pemrograman.

Ditangani Oleh

Parser melakukan analisis sintaks sedangkan penganalisis semantik melakukan analisis semantik.

Fase kompilasi

Analisis sintaksis adalah fase kedua dari proses kompilasi, sedangkan analisis semantik adalah fase ketiga dari proses kompilasi.

Kegunaan

Sementara analisis sintaks mengambil token sebagai input dan menghasilkan pohon parse sebagai output, analisis semantik memeriksa apakah pohon parse sesuai dengan aturan bahasa. Dengan demikian, fungsionalitasnya adalah Perbedaan yang menonjol antara sintaks dan analisis semantik.

Keluaran

Selain itu, analisis sintaks menghasilkan pohon parse, sedangkan analisis semantik menghasilkan pohon sintaks beranotasi. Maka dari itu, ini adalah perbedaan lain antara sintaks dan analisis semantik.

Kata terakhir

Singkatnya, kompiler adalah program perangkat lunak yang mengubah kode sumber menjadi kode mesin sehingga komputer dapat melakukan tugas yang ditentukan dalam program. Ada beberapa fase dalam proses kompilasi. Dua di antaranya adalah analisis sintaksis dan analisis semantik. Perbedaan yang menonjol antara analisis sintaks dan analisis semantik adalah analisis sintaksis mengambil token yang dihasilkan oleh analisis leksikal dan menghasilkan pohon parse sementara analisis semantik memeriksa apakah pohon parse yang dihasilkan oleh analisis sintaks mengikuti aturan bahasa.

Sumber bacaan:
  1. “Fase Kompilator – Javatpoint.” www.javatpoint.com, Tersedia di sini .
Sumber gambar:
  1. “Sebuah kompiler multi-bahasa, multi-target yang ideal” Oleh I, Surachit ( CC BY-SA 3.0 ) melalui Commons Wikimedia

Related Posts