d. Write a Lisp program that verifies if a list of symbols is correct from the point of view of this grammar. For example, ' (check-A (y w z w y)) should return true (t) and (check-A (y z w w)) should return false (nil). 1

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Help in lisp

d. Write a Lisp program that verifies if a list of symbols is correct from the point of view of this grammar. For example,
I
(check-A (y w z w y))
should return true (t) and
I
(check-A
(y z w w))
should return false (nil).
You can use the program grammar1.el as a model for this.
Transcribed Image Text:d. Write a Lisp program that verifies if a list of symbols is correct from the point of view of this grammar. For example, I (check-A (y w z w y)) should return true (t) and I (check-A (y z w w)) should return false (nil). You can use the program grammar1.el as a model for this.
;; Simulation of a small context-free grammar.
; The rules of the grammar:
; S => ат
; T => b T
; T => b V
; V => a
(defun check-S (Lst)
(if (equal (car Lst) 'a)
(check-T (cdr Lst))
nil))
(defun check-T (Lst)
(if (equal (car Lst) 'b)
(or (check-T (cdr Lst))
(check-V (cdr Lst)))
nil))
(defun check-V (Lst)
(and (equal (car Lst) 'a)
(not (cdr Lst))))
(check-S' (a b a))
t
1
(check-S (a b b b a))
t
(check-S (b a b))
nil
1
Transcribed Image Text:;; Simulation of a small context-free grammar. ; The rules of the grammar: ; S => ат ; T => b T ; T => b V ; V => a (defun check-S (Lst) (if (equal (car Lst) 'a) (check-T (cdr Lst)) nil)) (defun check-T (Lst) (if (equal (car Lst) 'b) (or (check-T (cdr Lst)) (check-V (cdr Lst))) nil)) (defun check-V (Lst) (and (equal (car Lst) 'a) (not (cdr Lst)))) (check-S' (a b a)) t 1 (check-S (a b b b a)) t (check-S (b a b)) nil 1
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Sorting
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education