*병*
Bronze개인인증
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 4
검색어 입력폼
  • [컴파일러]어휘 분석기
    Compiler report- 어휘 분석기 프로그램 분석서 -20011579강 병 재■ 프로그램 설명본 프로그램은 c소스 파일의 파일명을 입력받아 토큰화하여 토큰의 종류별 좌표로 나누는 프로그램입니다. 토큰은 변수, 함수, 상수, 스트링, 예약어, 전처리기, 헤더파일, 케릭터, 기타기호, 비트연산자, 논리연산자 ,비교연산자, 산술연산자, 증감연산자로 나뉘었습니다. 나누어진 토큰은 TokenData.txt 파일과 Console화면에 출력되어집니다.■ 제약조건 명시○ 변수 및 함수의 각각의 개수는 최대 500개의 프로그램까지 수용가능○ 변수 및 함수의 각각의 인덱스 길이는 20으로 하였습니다.○ “”문자 사이에 글은 스트링으로 보았으며 중간에 “, ‘”’ 기호는 무시하였습니다.○ 케릭터에서 ‘’문자 사이에는 오직 한 케릭터만 오게 되어있습니다. 따라서‘’‘,’\‘, ’‘등은 인식되지 않습니다.○ 주석문은 무시하고 출력하지 않았습니다.■ 프로그램 분석○ 토큰화 방식- 토큰화에서는 변수, 함수, 상수, 스트링, 헤더파일, 케릭터, 기타부호등과 같은 종류는 미리 키워드가 정해져 있지 않으므로 토큰이 찾아지는 대로 배열에 저장하였습니다. 저장 할 때는 기존의 토큰이 있는지 검색 후 있으면 저장하지 않고 출력만 하며 없을 경우 배열의 최 상위 단에 저장 하였습니다. 토큰 종류는 다음과 같습니다.0. 변수, 1. 함수, 2. 상수, 3. 스트링,auto (4, 0)break (4, 1)char (4, 2)case (4, 3)const (4, 4)continue (4, 5)default (4, 6)do (4, 7)double (4, 8)else (4, 9)enum (4, 10)extern (4, 11)float (4, 12)for (4, 13)goto (4, 14)if (4, 15)int (4, 16)register (4, 17)long (4, 18)return (4, 19)short (4, 20)signed (4, 21)sizeof (4, 22)static (4, 23)struct (4, 24)switch (4, 25)typedef (4, 26)union (4, 27)unsigned (4, 28)void (4, 29)volatile (4, 30)while (4, 31)4. 예약어5. 전처리기include (5, 0)define (5, 1)undefine (5, 2)if (5, 3)ifdef (5, 4)endif (5, 5)else (5, 6)elif (5, 0)linepragmaerror6. 헤더파일,7. 케릭터, 8, 기타부호9. 비트 연산자| (9. 0)^ (9. 1)< (9. 2)>> (9. 3)~ (9. 4)10. 논리 연산자&& (10, 0)|| (10, 1)! (10, 2)? (10, 3)11. 비교 연산자> (11, 0)< (11, 1)== (11, 2)>= (11, 3)
    공학/기술| 2006.06.24| 8페이지| 1,000원| 조회(1,129)
    미리보기
  • [컴파일러]C언어로된 C소스 예약어 검색 및 수정 프로그램
    Compiler report- 예약어 검색 및 수정 프로그램 -20011579강 병 재■ 프로그램 설명- 본 프로그램은 C언어로 작성된 프로그램을 입력받아 예약어를 모두 검색하여 예약어 만을 대문자로 바꿔주는 프로그램이다. 위 프로그램은 다른 단어 안에 예약어와 동등한 캐릭터가 있는 경우나 주석문 까지 처리를 하였다.■ 프로그램 분석- 본 프로그램은 fgets함수를 통하여 한 줄씩 읽어 온다. 그리고 strstr함수를 통하여 reserve배열 안에 있는 모든 예약어들이 있는지 확인하게 되며 확인된 예약어는 아스키 코드값을 32를 뺌으로서 대문자로 치환하며 단어 사이에 예약어가 존재하는 경우나 주석문 같은 경우는 특별한 처리를 하였다.■ 프로그램 소스#include #include #include char *buf;int com2_f = 0;int line_num=0;int com2_s, com2_t;char tmp[512];char *reserve[] = {"auto" , "break", "case", "char", "const", "continue", "default", "do","double", "else", "enum", "extern", "float", "for", "goto", "if","int", "long", "register", "return", "short", "signed", "sizeof", "static","struct", "switch", "typedef", "union", "unsigned", "void", "volatile", "while" };void change(char *);int main(int argc, char *argv[]) {FILE *sp, *dp;if(argc != 2) {printf("Usage : Input File name! n");exit(1);}/* int char */if((sp = fopen(argv[1], "r")) == NULL) {printf("Can't search file.n");exit(0);}if((dp = fopen("Changed.c", "w+")) == NULL) {printf("Can't Make file. n");exit(0);}while(fgets(tmp, 512, sp) != NULL) {change(tmp);fputs(tmp, dp);}fseek(dp, 00, SEEK_SET);while(fgets(tmp, 512, dp) != NULL) {printf("%s", tmp);}return 0;}void change(char *line) {int i, k;int l;//검색된 문자 바로 앞 의 포인터 검색을 위해char *t;char *line_t;// 예약어가 중간에 끼엇을경우char *com1, *com2_1, *com2_2;int com1_f = 0;com1_f = 0;line_num++;line_t = line;if((com2_1 = (char *)strstr(line, "/*")) != NULL) {com2_f = 1;com2_s = line_num;}if((com2_2 = (char *)strstr(line, "*/")) != NULL) {com2_f = 0;com2_t = line_num;}// '//'주석 검색if((com1 = (char *)strstr(line, "//")) != NULL) {com1_f = 1;}// 주석 사이에 있을경우if(com2_f == 1 && line_num > com2_s || line_num < com2_t ) {return;}for(i=0; i
    공학/기술| 2006.05.31| 4페이지| 1,000원| 조회(854)
    미리보기
  • [네트워크]C언어로된 P2P 파일공유 시스템 평가A+최고예요
    Network Programming report학번 : 20011579이름 : 강 병 재■ 프로그램 설명- 본 프로그램은 P2P 파일공유 시스템이다. 즉 Server-Client 시스템으로 서버에서는 클라이언트의 공유파일의 목록과 함께 IP를 저장하여 다른 클라이언트에게서 쉽게 서버에 접속만 하면 전체 리스트 보기 및 검색, 접속자 리스트를 보여줄 수 있다. 만약 필요한 목록이 서버에서 검색되었다면 클라이언트에서 서버로 파일을 요구하게 되고 서버에서는 자동으로 파일의 소유자와 파일을 원하는 사람 간에 새로운 1:1 Server-Client 통신을 개설하게 하여 파일전송이 되게끔 만드는 프로그램이다.■ 시스템 구현 기술? Server- 비동기 방식으로 FD_SET, FD_ZERO, FD_ISSET, select등의 함수를 통하여 클라이언트의 메시지를 확인한다. FD_ZERO로 소켓 테이블 초기화를 하고 FD_SET를 통하여 SETTING을 한다.FD_ISSET을 통하여 변화를 감시하며 select를 통하여 테이블을 구성하게 된다.? Client- Thread를 사용하여 Server로부터의 메시지 수신을 확인하는 스레드와 키보드로부터 메시지 수신 및 처리하는 스레드로 나워서 구동된다.■ 시스템 구동 방식? 1단계 : 클라이언트가 서버에 접속 요청을 하게 된다.? 2단계 : 클라이언트가 자체 내에서 공유 테이블을 작성하여 구조체로 서버에 전송하게 된다.? 3단계 : 서버에서는 클라이언트에서 받은 테이블을 토데로 모든클라이언트의 공유테이블을 자신이 관리하는 테이블로 작성 하게 되며 클라이언트는 서버가 가지고 있는 테이블을 언제든 검색하여 원하는 파일을 찾을수 있다.? 4단계 : 위의 그림과 같이 Client3이 Client1의 File.dat 파일을 원하는 경우 아래와 같이 Server에서 Client1과 Client3에게 둘만의 Server-Client통신요청 메시지를 보내게 된다.? 5단계 : Client1에서는 서버에서 할당해준 port로 서버소켓을 따로 개설하고 Client3역시 서버에서 할당해준 port로 클라이언트 소켓을 따로 개설하여 파일을 전송받게 되며 Client1과 Client3은 전송 및 수신을 마친 후 개설된 소켓을 닫게 된다.■ 프로그램 소스? 서버/*----------------------------------------------------------------파일명 : server.c기 능 : P2P 방식의 파일공유 시스템리눅스 : gcc -o server server.c유닉스 : gcc -o server server.c -lsocket -lnsl사용법 : server 3000----------------------------------------------------------------*/#include #include #include #include #include #include #include #include #include "file_list.h"#define MAXLINE 512#define MAX_SOCK 64char *escapechar = "exit";int getmax(int);void viewListAll(int);int searchFile(char *, int);void clientView(int);void sendMessage(char *, int);void printList(int, int);void gatherInfo(int); /* 클라이언트 파일 공유테이블 작성 */void removeClient(int); /* 클라이언트 탈퇴 처리 함수 */int maxfdp1; /* 최대 소켓번호 +1 */int num_client = 0; /* 클라이언트 연결 수 */int client_s[MAX_SOCK]; /* 연결된 클라이언트 소켓번호 목록 */char recv_buf[MAXLINE], send_buf[MAXLINE], temp[MAXLINE], file[MAXLINE];struct sockaddr_in client_addr, server_addr;f_data client_file[5];int s_result[5]; /* 검색결과 목록 */int s_count, port; /* 검색결과 개수 */int main(int argc, char *argv[]){char recv_buf[MAXLINE], send_buf[MAXLINE];int i, j, n, k;int s, client_fd, clilen;fd_set read_fds; /* 읽기를 감지할 소켓번호 구조체 */if(argc != 2){printf("사용법 : %s portn", argv[0]);exit(0);}/* 초기소켓 생성 */if((s = socket(PF_INET, SOCK_STREAM, 0)) < 0){printf("Server : Can't open stream socket.");exit(0);}/* server_addr 구조체의 내용 세팅 */bzero((char *)&server_addr, sizeof(server_addr));server_addr.sin_family = AF_INET;server_addr.sin_addr.s_addr = htonl(INADDR_ANY);server_addr.sin_port = htons(atoi(argv[1]));if(bind(s, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0){printf("Server : Can't bind local address.n");exit(0);}/* 클라이언트로부터 연결요청을 기다림 */listen(s, 5);port = 3000;maxfdp1 = s + 1; /* 최대 소켓번호 + 1 */while(1){FD_ZERO(&read_fds);FD_SET(s, &read_fds);for(i=0; i
    공학/기술| 2006.05.30| 15페이지| 1,000원| 조회(3,100)
    미리보기
  • [네트워크 프로그램]연결형 소켓 프로그램 평가C아쉬워요
    Network Programming■ 프로그램 설명- 본 프로그램은 네트워크 소켓 통신을 이용한 우편번호 검색시스템입니다. 이 프로그램은 서버-클라이언트의 1:1 방식으로 사용된 기술로는 통신을 위해서는 리눅스 소켓을 사용하였으며 데이터베이스 관리를 위하여 파일 입출력을 사용하였습니다. 모든 데이터는 서버에서 관리하며 클라이언트는 이 데이터를 추가, 검색, 삭제 및 전체 보기 그리고 종료가 선택가능하게 하엿습니다.■ 클라이언트 - 서버 동작방식- 서버 - - 클라이언트 -서버 - 클라이언트는 1:1 방식의 통신 소켓 모드로 기본적인 절차를 모두 준수한다. 추가적으로 프로그램상 서버에서는 두 번의 while문으로 메시지 접수하여 처리하며 클라이언트는 한번만 사용하여 모든 메시지를 송신 및 접수하게 된다.■ 소스 프로그램// 서버 프로그램#include #include #include #include #include #include #define BUF_SIZE 128#define DATA_SIZE 128#define TEMP_SIZE 128int main(int argc, char *argv[]){struct sockaddr_in server_addr, client_addr;int server_fd, client_fd;int len, msg_size, i, data_size, temp_size, k, n;char buf[BUF_SIZE], data[DATA_SIZE], temp[TEMP_SIZE];FILE *fp;char *p;if(argc != 2) {printf("Usage : %s portn", argv[0]);exit(0);}/* Create socket */if((server_fd = socket(PF_INET, SOCK_STREAM, 0))
    공학/기술| 2006.05.10| 9페이지| 1,000원| 조회(1,185)
    미리보기
전체보기
받은후기 8
8개 리뷰 평점
  • A+최고예요
    6
  • A좋아요
    1
  • B괜찮아요
    0
  • C아쉬워요
    1
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 17일 일요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
12:45 오후
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감