Skip to content
This repository has been archived by the owner on Feb 16, 2023. It is now read-only.

Latest commit

 

History

History
29 lines (22 loc) · 671 Bytes

README.md

File metadata and controls

29 lines (22 loc) · 671 Bytes

minishell

Tokens:

Variables - /\$[A-z_?]\w*/

Words - Anything that isn't any of the other tokens

Whitespace - /\s+/

Redirection - /(<<?)|(>>?)/

Pipe - /\|/

Single Quote - /'/

Double Quote - /"/

Grammar:

<PIPELINE> 	::=	<SIMPLE-COMMAND>
			|	<SIMPLE-COMMAND> '|' <PIPELINE>
			|   ε

<SIMPLE-COMMAND> ::=  <SIMPLE-COMMAND-ELEMENT>
                   |  <SIMPLE-COMMAND-ELEMENT> <SIMPLE-COMMAND>

<SIMPLE-COMMAND-ELEMENT> ::= <WORD>
                          |  <REDIRECTION-LIST>

<REDIRECTION>   ::= <DIRECTION> <WORD>

<REDIRECTION-LIST> ::= <REDIRECTION>
                    | <REDIRECTION> <REDIRECTION-LIST>