Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

token double-linked-list #11

Open
hyungraelee opened this issue Apr 21, 2021 · 0 comments
Open

token double-linked-list #11

hyungraelee opened this issue Apr 21, 2021 · 0 comments

Comments

@hyungraelee
Copy link
Contributor

hyungraelee commented Apr 21, 2021

이중연결리스트의 시작은 t_cmd 노드이다. | 로 연결된 명령어라인이 여러 개 들어오면, 명령어라인 다음 노드는 파이프, 파이프 다음 노드는 명령어라인으로 연결하여 리스트를 만든다.
t_cmd -> t_pipe -> t_cmd ...

t_cmd 변수

  • char **line(명령어라인 전체)
  • char *cmd(명령어)
  • char *arg(인자)
  • char *rd_in(< 일 때 filename)
  • char *rd_out(> 일 때 filename)
  • char *rd_append(>> 일 때 filename)
  • t_pipe *next(다음 파이프 노드)
  • t_pipe *prev(이전 파이프 노드)

t_pipe 변수

  • int fd[2](standard input/output)
  • t_cmd *next(다음 명령어라인 노드)
  • t_cmd *prev(이전 명령어라인 노드)

parsing process

  1. ; 기준으로 자른다.
  2. 1에서 잘린 이중배열에서의 각 문자열을 | 기준으로 자른다.
  3. 각 문자열의 정보를 담는 리스트의 노드를 만드는데, IFS와 meaning을 기준으로 맞는 변수에 담아준다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant