Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MiniSQL SELECT Parser

Overview

MiniSQL SELECT Parser is a compiler design project implemented using Flex (Lex) and Bison (Yacc). It validates a subset of SQL SELECT queries and extracts useful query information such as selected columns, table names, and WHERE conditions.


Features

  • SELECT statement parsing
  • FROM clause
  • WHERE clause
  • AND / OR
  • Parentheses
  • Comparison operators
  • Extract table name
  • Extract selected columns
  • Extract WHERE condition

Technologies

  • C
  • Flex
  • Bison
  • GCC

Project Structure

minisql.l
minisql.y
README.md
sample_queries.txt
MiniSQL_Project_Report.pdf

Compilation

bison -d minisql.y
flex minisql.l
gcc minisql.tab.c lex.yy.c -o minisql -lfl
./minisql

Demo

Program Startup

Startup

Valid Query

Valid

Invalid Query

Invalid


Supported SQL

SELECT *
FROM table;

SELECT name, age
FROM students
WHERE age >= 18;

Limitations

Currently the parser supports only

  • SELECT
  • FROM
  • WHERE
  • AND
  • OR

Future versions will support

  • INSERT
  • UPDATE
  • DELETE
  • ORDER BY
  • LIMIT
  • DISTINCT

Author

Muhaiminul Islam Hasin

Department of CSE

Daffodil International University

About

A MiniSQL SELECT-FROM-WHERE Parser implemented using Flex and Bison.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages