High Perpormance
Reliablilty & Scalablilty

VTC(Vine Text Compiler)

VTC(Vine Text Compiler)?

VTC는 네트워크 프로토콜의 Text기반이 가지는 Hand Coding의 단점을 보완하여, 빠르게 Build 할 수 있는 강력한 개발 도구입니다. 또한 현재 다양한 응용서비스의 Application-aware Networking이 확산되고 있는 가운데, 이를 유연하게 개발 할 수 있는 Text Compiler입니다.

Feature - Performance Oriented Compiler
- Code Generation : Compiler 기본 기능
- ANSI C, Multi-threading 지원
- ABNF(RFC2234) 준수
- Multiplicity : 3가지 Generation Mode를 지원
1. Embedded-Optimized : For embedded system without diagnostic
2. Space-Optimized : Minimizing use of memory
3. Time-Optimized : Fast speed Optimized
- ABNF Grammer에 맞는 다양한 case의 documents 생성
- ABNF Grammer Verification을 수행
- 높은 성능위해 C string function 이용하지 않고 character256Array 사용
- Runtime시 malloc, free 사용하지 않고 predefine된 메모리구조 사용
- List형태의 type을 pointer와 array 형태로 선택 지원
- Read buffer를 가리키는 pointer 형태와 copy하는 형태 모두 지원
- Predictive parsing tables : 입력 ABNF로 Control table 구성
- Prioritized-Choice Disambiguation : 입력 ABNF의 Parsing 순서 지정
- Syntactic and Semantic Predicates : Verification
[특허출원]10-2007-0060822 텍스트 컴파일러 추가 룰 및 메모리 구조 Extension Rule

  • Extention Rule
  • 설명
  • SET
  • It doesn't have sequence( 순서 상관없는 Element, SETrulelikeASN.1 )
  • PDU
  • ProtocolDataUnit for encoding/decoding
  • CUT
  • Delemeter
  • VAR
  • Direct variablename
  • Direct choicename
  • Direct bitmaskname
  • TDEF
  • Same as typedef
  • It is used only literal, and the literal is case-insensitive
  • ALT
  • When there exist several alternation , user can direct ALT, it process at last
  • DUP
  • When alternation element terminated same char, user can define next chars
  • TOK
  • It is used for other type generation and has relation about decoding rule, so it doesn't appear element in user struct
  • SKIP
  • it consists of 2 element, skipping and the data element. The skipping element is number of skipping byte and data element is next processing element
Process Internet 규격 작성에 많이 사용되는 ABNF(RFC2234) 준수하는 Text Compiler를 Extension 룰을 추가하여 개발합니다. Compiler의 개발, 실행 시 사용되어지는 절차는 ABNF 입력으로 C language encoding/decoding에 사용되는 data structure와 control table이 생성되어 사용됩니다.
Resriction - ABNF에 정의된 prose-val 은 지원 안합니다.
- Maximum value of unlimited repeat is considered 9999.
- In case of bin-val, dec-val, hex-val, max series of concatenation is 80.
- Incase of hex-val value must be ranged 0-255.
- Rule must be terminated ";" string, it is used delimiter between rule.
- Rule is not support more than one optional element in union because of difficulty of defining structure.
Ex) "A=B|C[D]|E" must changed "A = B | newRule | E and newRule= C [D]
- Rule name is case sensitive and not support "-" character because of generation C structure. Generation of C Structure