이제 본격적으로 jsmn parser를 뜯어 고치는 작업을 시작하려 한다. 먼저 console input, file input을 하면서 c string을 복습해보고, json형식의 file을 파싱할 연습을 해보자. (-> 앞에서 살펴본 것과 같이 jsmn library에서 주어진 simple.c 파일에서는 json key값을 하드코딩하는 방식을 취한다. 그래서 일단은 하드코딩 방식을 그대로 두고, 다음 포스팅에서 임의의 key에 대해서도 parsing 가능한 코드로 수정하려 한다. ) 1. Console input - read_string_from_console(): 빈 문자열을 입력할 때까지 반복하면서, 빈 문자열이 들어오면 one long string을 return해낸다. 2. File input(...
( 분석 대상 : jsondump.c, simple.c ) : 이번에 분석할 두개의 c file은, 'input에서 뽑아진 token들'을 가지고 어떻게 예쁘게 'print'할 것인지에 초점이 맞추어진 것 같다. (내부적으로 parser함수들도 당연히 사용한다.)애초에 두개 다 샘플 실행 파일로 제공할 요량으로 만들어진 듯 하다. 1. jsondump.c 0. 개요 : jsondump.c는 뒤에 설명할 simple.c와 다르게, 다른 json file을 print해낼 수 있다는 점에서 좀 더 유연하며, 핵심인 dump()는 각 token마다 부여된, pos, start, end, size등의 정보를 가지고 print해주는 합리적인 방법을 사용한다. (뒤에 나올 simple.c는 simp..
: 오픈 소스 기여의 첫걸음으로 C로 구현된 JSON parser project인, jsmn의 분석을 해보려 한다. 사실 jsmn(jasmine)은 워낙 유명하기도 하고 코드 자체 완성도가 높아 기여할 여지는 적다. 하지만 전체 코드가 그리 길지 않아, 오픈소스 분석과 기여를 연습하기 위해서는 꽤 적절하다. 0. jsmn 프로젝트에 대하여: jsmn은 기존 JSON parser가 불필요한 기능을 제공한다는 점에서 착안해 더 robust, fast, portable, simple한 parser를 만들고자 시작했다고 한다. simplicity가 핵심인 듯 하다. 먼저 JSON의 token에 대한 정의를 먼저 하려 한다. * token : striing을 구분할 수 있는 물리적 단위. 1) token은 값이 ..
- Total
- Today
- Yesterday
- wegith
- 카카오톡
- kakao oven
- Beacon
- call back
- layout_weight
- server ip
- 연동
- 수업교재
- RECO beacon
- 행복의 상대성
- ranging
- 카카오톡 연동
- 책 집필
- KAKAO
- Retrofit
- eddystone
- stopService
- fragment 겹침
- Android
- 안드로이드
- startService
- 비콘
- 카톡
- tabLayout
- nodejs
- kakaotalk
- SQLPro
- call back 뺏아오기
- monitoring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |