11
, Comma koma
Digunakan untuk memisahkan variabel
pada saat
proses deklarasi. Juga dapat digunakan
pada saat menggunakan statemen
for
. .
Period titik Digunakan untuk memisahkan
nama paket, subpaket, dan kelas. Juga
digunakan untuk
memisahkan datamethod dari sebuah referensi objek.
2.2 Ekspresi Reguler
Menurut Aho, dkk 1994, ekspresi reguler atau yang biasa dikenal dengan regex merupakan sebuah ekspresi yang menjadi notasi penjelasan mengenai
suatu bahasa. Regex dapat mendefinisikan secara tepat bahasa yang sama dan berperan sebagai bahasa input untuk banyak sistem yang memproses untaian
string, seperti perintah search pada UNIX yaitu grep atau perintah-perintah sejenis untuk menemukan untai yang dilihat seseorang pada web browser atau
sistem pemformatan teks. Seperti yang dijelaskan oleh Aho, dkk 1994, terdapat tiga operator pada
regex. Ketiga operasi tersebut adalah 1.
Gabungan union dua bahasa L dan M disimbolkan dengan L M, yaitu himpunan untaian string yang berada baik pada L atau M
atau pada keduanya. Sebagai contoh, jika L = {001, 10, 111} dan M = {
∈, 001}, maka L M = {∈, 10,001, 111} 2.
Rentengan concantenation bahasa L dan M disimbolkan dengan L.M adalah himpunan untaian string yang dapat dibentuk dengan
mengambil sembarang untai pada L dan merentengnya dengan sembarang untai pada M. Sebagai contoh, jika L = {001, 10, 111}
dan M = { ∈, 001}, maka L.M atau disingkat LM saja, adalah {001,
10, 111, 001001, 10001, 111001}. Tiga untai pertama pada LM adalah untai-untai pada L direnteng dengan
∈. Karena ∈ merupakan
12
identitas rentengan, untai yang dihasilkan sama dengan untai pada L. Akan tetapi, tiga untai yang terakhir pada LM dibentuk dengan
mengambil setiap untai pada L dan merentengnya dengan untai dengan untai kedua pada M yaitu 001. Sebagai contoh, 10 dari L
direnteng dengan 001 dari M akan menghasilkan 10001 pada LM. 3.
Tutupan closure bahasa L dilambangkan dengan L dan mewakili himpunan yang untaianya dapat dibentuk dengan mengambil
sembarang nomor untai dari L, mungkin dengan pengulangan untai yang sama mungkin dipilih lebih dari satu kali dan merenteng
semuanya. Contohnya, jika L = {0, 1}, maka L adalah seluruh untai angka-angka yang terdiri dari 0 dan 1 sedemikian hingga angka-
angka selalu berpasangan misalnya 011, 11110 dan ∈, tetapi tidak
pernah 01011 atau 101. Lebih formal lagi, L adalah gabungan tak berhingga
⋃ �
� �≥
, dimana L = {
∈}, L
1
= L dan L
i
dengan i 1 adalah LL…L rentengan salinan L sebanyak i.
Pada sistem operasi UNIX, terdapat aturan baku yang disebut standar IEEE POSIX Basic Regular Expression atau BRE, seperti yang dijelaskan oleh Ken
1968. Pada sintaks BRE, hampir semua karakter diberlakukan secara harfiah. Tabel 2.7 dibawah merupakan daftar Metacharacter dan deskripsinya.
Tabel 2.6. Daftar Metacharacter
Metacharacter Deskripsi
.
Sesuai dengan satu karakter apa saja. Dalam kurung siku, karakter titik sesuai dengan titik
secara harfiah. Misal, a.c cocok pada “abc”,dll. Tapi [
a.c] hanya cocok pada “a”, “.”, atau “c”.
[]
Ekspresi kurung siku. Sesuai dengan satu karakter yang ada dalam kurung. Misal, [abc]
sesuai “a”, “b”, “c”. [a-z] menspesifikasikan sebuah range yang sesuai dengan huruf kecil dari
“a” sampai “z”. Format ini dapat dicampur,
13
misalkan [abcx- z] sesuai dengan “a”, “b”, “c”,
“x”, “y”, “z”. Karakter diberlakukan secara harfiah jika berada diawal atau diakhir tanda
kurung siku, atau jika diawali dengan karakter escape seperti: [abc-], [-abc], atau [a\-bc].
[]
Sesuai dengan satu karakter apa saja yang tidak ada dalam kurung.
Sesuai dengan awal string. Pada toolline-based, notasi ini sesuai dengan awal baris di mana saja.
Sesuai dengan akhir string. Pada toolline-based, notasi ini sesuai dengan akhir baris di mana saja.
BRE: \ \ ERE:
Mendefinisikan subexpression yang dapat dipanggil kemudian.
\n
Sesuai dengan subexpression ke-n dimana n bernilai 1 sampai 9.
Sesuai dengan elemen sebelumnya sebanyak 0 atau beberapa kali.
BRE: \{m,n\} ERE: {m,n}
Sesuai dengan elemen sebelumnya minimal sebanyak m kali namun tidak lebih dari n kali.
ERE :?
Sesuai dengan elemen sebelumnya sebanyak 0 atau 1 kali.
ERE: +
Sesuai dengan elemen sebelumnya minimal sebanyak 1 kali.
ERE: |
Operator alternasi yang sesuai dengan expression sebelumnya atau sesudahnya.
14
2.3 Abstract Syntax Tree AST