Minishell 1.0
42 School Minishell Project - A simple shell implementation
Yüklüyor...
Arıyor...
Eşleşme Yok
main.c Dosya Referansı

Minishell ana dosyası Ayrıntılar...

#include "../include/minishell.h"
#include <readline/history.h>
#include <readline/readline.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
main.c için içerme bağımlılık grafiği:

Bu dosyanın kaynak koduna git.

Fonksiyonlar

int init_shell (t_shell *shell, char **envp)
 Shell yapısını başlatır.
static void process_line (t_shell *shell)
 Tek bir komut satırını işler.
int main (int argc, char **argv, char **envp)
 Program giriş noktası

Ayrıntılı tanımlama

Minishell ana dosyası

Shell başlatma, ana döngü ve temizlik işlemleri. REPL (Read-Eval-Print Loop) döngüsünü yönetir.

main.c dosyasında tanımlanmıştır.

Fonksiyon Dokümantasyonu

◆ init_shell()

int init_shell ( t_shell * shell,
char ** envp )

Shell yapısını başlatır.

Parametreler
shellShell yapısı pointer'ı
envpOrtam değişkenleri dizisi

Shell'i sıfırlar, exit_status'u ayarlar ve ortam değişkenlerini yükler.

main.c dosyasının 35 numaralı satırında tanımlanmıştır.

Referanslar s_shell::envp, s_shell::exit_status ve init_env_list().

Referans veren main().

Bu fonksiyon için çağırılma şeması:
Bu fonksiyon için çağırılma şeması:

◆ process_line()

void process_line ( t_shell * shell)
static

Tek bir komut satırını işler.

Parametreler
shellShell yapısı pointer'ı

Pipeline: Lexer -> Expander -> Parser -> Executor Her adımda başarısızlık durumunda döner.

main.c dosyasının 52 numaralı satırında tanımlanmıştır.

Referanslar s_shell::ast_root, clean_ast(), s_shell::cmd_line, executor(), expander(), free_token_content(), lexer(), merge_adjacent_tokens(), parser() ve s_shell::token_list.

Referans veren main().

Bu fonksiyon için çağırılma şeması:
Bu fonksiyon için çağırılma şeması:

◆ main()

int main ( int argc,
char ** argv,
char ** envp )

Program giriş noktası

Parametreler
argcArgüman sayısı (kullanılmıyor)
argvArgüman dizisi (kullanılmıyor)
envpOrtam değişkenleri
Döndürdüğü değer
int Çıkış durumu

REPL döngüsü:

  1. readline ile girdi al
  2. process_line ile işle
  3. Ctrl-D (EOF) gelene kadar tekrarla

main.c dosyasının 91 numaralı satırında tanımlanmıştır.

Referanslar cleanup_shell(), s_shell::cmd_line, complete_input(), s_shell::exit_status, g_readline_active, g_signal, init_shell(), is_input_complete(), process_line() ve setup_signals().

Bu fonksiyon için çağırılma şeması: