{"id":21432428,"url":"https://github.com/mikeleo03/javascript-parser-cyk","last_synced_at":"2026-05-18T08:32:57.309Z","repository":{"id":68871342,"uuid":"565932757","full_name":"mikeleo03/Javascript-Parser-CYK","owner":"mikeleo03","description":"Tugas Besar Teori Bahasa Formal dan Otomata IF2124 - Parser Bahasa Javascript","archived":false,"fork":false,"pushed_at":"2022-11-25T16:48:39.000Z","size":894,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T08:43:10.635Z","etag":null,"topics":["javascript","parser","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikeleo03.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-14T16:19:09.000Z","updated_at":"2024-04-07T04:48:20.000Z","dependencies_parsed_at":"2023-06-12T10:30:31.906Z","dependency_job_id":null,"html_url":"https://github.com/mikeleo03/Javascript-Parser-CYK","commit_stats":null,"previous_names":["mikeleo03/javascript-parser-cyk"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeleo03%2FJavascript-Parser-CYK","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeleo03%2FJavascript-Parser-CYK/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeleo03%2FJavascript-Parser-CYK/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeleo03%2FJavascript-Parser-CYK/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikeleo03","download_url":"https://codeload.github.com/mikeleo03/Javascript-Parser-CYK/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243945321,"owners_count":20372890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","parser","python3"],"created_at":"2024-11-22T23:18:30.701Z","updated_at":"2026-05-18T08:32:57.268Z","avatar_url":"https://github.com/mikeleo03.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Javascript Parser with CYK Algorithm\n\u003e Source Code ini dibuat oleh kami, Kelompok LSN, untuk memenuhi Tugas Besar Teori Bahasa Formal dan Otomata yaitu mengimplementasikan \n\u003e Parser Syntax bahasa Javascript dengan Algoritma CYK (Cocke-Younger-Kasami)\n\n## Daftar Isi\n* [Anggota Kelompok](#anggota-kelompok)\n* [Implementasi Program](#implementasi-program)\n* [Sistematika File](#sistematika-file)\n* [Cara Menjalankan Program](#cara-menjalankan-program)\n* [Screenshots](#screenshots)\n\n## Anggota Kelompok\nNIM | Nama |\n--- | --- |\n13521108 | Michael Leon Putra Widhi |\n13521168 | Satria Octavianus Nababan |\n13521172 | Nathan Tenka\n\n## Implementasi Program\nPada Tugas Besar kali ini, program yang kami buat dapat digunakan untuk :\n1. Menerima input berupa file eksternal berisi string yang merupakan kode sebuah program JavaScript (Node.js)\n2. Melakukan evaluasi sintaks dengan CFG\n3. Melakukan evaluasi nama-nama variabel dan operasi yang ada dengan FA\n4. Memberikan keluaran hasil evaluasi program antara “Accepted” jika input diterima atau “Syntax Error” jika input tidak diterima\n5. [BONUS] Memberi tahu letak dan detail kesalahan syntax jika ada \n\n## Sistematika File\n```bash\n.\n├─── doc\n├─── test\n│   ├─── functionAcc.js\n│   ├─── functionReject1.js\n│   ├─── functionReject2.js\n│   ├─── ifAcc.js\n│   ├─── ifReject.js\n│   ├─── inputAcc.js\n│   ├─── inputReject.js\n│   ├─── loopAcc.js\n│   ├─── loopReject.js\n│   ├─── switchAcc.js\n│   ├─── switchReject.js\n│   ├─── testProgAsli.js\n│   ├─── throwDeleteAcc.js\n│   ├─── throwDeleteReject.js\n│   ├─── tryCatchTestAcc.js\n│   ├─── tryCatchTestReject.js\n│   ├─── variablesReject.js\n│   ├─── varLetConstAcc.js\n│   └─── varLetConstReject.js\n├─── CFG.txt\n├─── CNF.txt\n├─── Converter.py\n├─── CYK.py\n├─── FA.py\n├─── LexerGrammar.py\n├─── main.py\n└─── README.md\n```\n\n## Cara Menjalankan Program\n1. Pastikan Python 3 versi terbaru sudah terpasang pada mesin eksekusi (Anda dapat mengecek versi Python 3 dengan menjalankan command `python --version` pada command prompt).\n2. Jalankan run pada `interface.py`.\n3. Jika berhasil dikompilasi, maka akan muncul tampilan interface.\n4. Masukkan path file yang ingin diparsing, misalkan path untuk file yang diterima pada Spesifikasi Tugas Besar adalah\n```bash\ntest/functionAcc.js\n```\n5. Tunggu hasil verdict.\n\nProgram akan menampilkan \"Accepted\" berwarna hijau jika file javascript yang dimasukkan sesuai dengan aturan syntax yang benar dan menampilkan \"Syntax Error\" berwarna kuning jika tidak sesuai dengan aturan syntax yang benar, lengkap dengan letak dan detail line kesalahan syntax berada.\n\n## Screenshots\n![screenshots](doc/interface.PNG)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeleo03%2Fjavascript-parser-cyk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikeleo03%2Fjavascript-parser-cyk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeleo03%2Fjavascript-parser-cyk/lists"}