PHPoC vs PHP > 개요 개요 PHPoC 는솔내시스템 이자체개발한프로그래밍언어입니다. 당사의모든 PHPoC 제품들의펌웨어에는 PHPoC 인터프리터가내장되어있습니다. PHPoC 는범용스크립트언어인 PHP 를기반으로제작되었습니다. PHPoC 는매우간단하여 C 언어등

Similar documents
OCW_C언어 기초

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint - chap04-연산자.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

K&R2 Reference Manual 번역본

슬라이드 1

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

PowerPoint 프레젠테이션

금오공대 컴퓨터공학전공 강의자료

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Tcl의 문법

슬라이드 1

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap05-제어문.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

untitled

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

컴파일러

PowerPoint Presentation

C# Programming Guide - Types

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint 프레젠테이션

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

PowerPoint 프레젠테이션


chap 5: Trees

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

PowerPoint 프레젠테이션

Microsoft PowerPoint - lec2.ppt

Introduction to Geotechnical Engineering II

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

PowerPoint 프레젠테이션

슬라이드 1

Modern Javascript

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

C 프로그래밊 개요

BMP 파일 처리

OCW_C언어 기초

Microsoft PowerPoint 세션.ppt

1

歯9장.PDF

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - Chapter_04.pptx

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint Template

17장 클래스와 메소드

슬라이드 1

Microsoft PowerPoint Predicates and Quantifiers.ppt

PowerPoint 프레젠테이션

13주-14주proc.PDF

쉽게

Microsoft PowerPoint - C++ 5 .pptx

Lab 3. 실습문제 (Single linked list)_해답.hwp

4장.문장

SIGPLwinterschool2012

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - a10.ppt [호환 모드]

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Microsoft PowerPoint - chap06-1Array.ppt

UI TASK & KEY EVENT

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap-05.pptx

C프로-3장c03逞풚

PowerPoint Presentation

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

C++-¿Ïº®Çؼ³10Àå

11장 포인터

Infinity(∞) Strategy

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

슬라이드 1

Microsoft PowerPoint 웹 연동 기술.pptx

강의 개요

Chapter 4. LISTS

PowerPoint 프레젠테이션

제4장 기본 의미구조 (Basic Semantics)

PowerPoint Presentation

C 언어 프로그래밊 과제 풀이

02장.배열과 클래스

윤성우의 열혈 TCP/IP 소켓 프로그래밍

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

adfasdfasfdasfasfadf

Microsoft PowerPoint - chap-02.pptx

슬라이드 1

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

歯처리.PDF

KNK_C_05_Pointers_Arrays_structures_summary_v02

6주차.key

02 C h a p t e r Java

설계란 무엇인가?

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Transcription:

PHPoC vs PHP > 개요 개요 PHPoC 는솔내시스템 이자체개발한프로그래밍언어입니다. 당사의모든 PHPoC 제품들의펌웨어에는 PHPoC 인터프리터가내장되어있습니다. PHPoC 는범용스크립트언어인 PHP 를기반으로제작되었습니다. PHPoC 는매우간단하여 C 언어등프로그래밍언어에대한경험이있는사람이라면누구나쉽게사용할수있습니다. PHPoC 는기본적으로 PHP 와호환되지만임베디드시스템의특성에따른제한사항들이있습니다. 따라서제품을사용하기전에이문서를읽어보는것을권장합니다. 2018-05-17 Sollae Systems page 1 of 16

PHPoC vs PHP > PHPoC 의특징 > 기본문법 기본문법 주석 단일행주석인 # 을지원하지않습니다. 2018-05-17 Sollae Systems page 2 of 16

PHPoC vs PHP > PHPoC 의특징 > 자료형 자료형 (Types) 진리값 (Booleans) 문자열 "0" 은진리값으로변환했을때 FALSE 가아닌 TRUE 가됩니다. 정수 (Integers) PHPoC 에서정수의최대값은약 9.2*10 18 입니다. 클래스 (Classes) 클래스를지원하지않습니다. 배열 (Arrays) 배열은다음과같은특징이있습니다. 배열은반드시초기값을지정해야만선언이가능합니다. 배열을만들때 KEY 값은숫자만가능합니다. 대괄호를이용한배열생성및함수호출은지원하지않습니다. 배열생성및사용예 <?php // 예 1 $var0 = array(3, 7, "array", "test"); $int0 = $var0[0] + $var0[1]; $str0 = $var0[2]. " ". $var0[3];?> <?php // 예 2 $int0 = 3; $int1 = 7; $str0 = "array"; $str1 = "test"; $var1 = array($int0, $int1, $str0, $str1);?> <?php // 예 3 $str0 = "array test"; $str0[6] = "T"; $str0[7] = "E"; $str0[8] = "S"; 2018-05-17 Sollae Systems page 3 of 16

PHPoC vs PHP > PHPoC 의특징 > 자료형 $str0[9] = "T"; echo $str0; // 출력결과 : array TEST?> 널 (Null) 널을지원하지않습니다. 자동형변환 (Type Juggling) 산술연산자 : 더하기 (+), 빼기 (-), 곱하기 (*), 나누기 (/) 구분 진리값 정수 실수 문자열 진리값 X X X X 정수 X O O X 실수 X O O X 문자열 X X X X 산술연산자 : 나머지 (%) 구분 진리값 정수 실수 문자열 진리값 X X X X 정수 X O X X 실수 X X X X 문자열 X X X X 비트연산자 : AND(&), OR( ), XOR(^), 왼쪽시프트 (<<), 오른쪽시프트 (>>) 구분 진리값 정수 실수 문자열 진리값 X X X X 정수 X O X X 실수 X X X X 문자열 X X X X 비트연산자 : 보수 (~) 진리값정수실수문자열 X O X X 비교연산자 : ~ 보다작음 (<), ~ 보다큼 (>), ~ 보다작거나같음 (<=), ~ 보다크거나같음 (>=) 구분 진리값 정수 실수 문자열 진리값 X X X X 정수 X O O X 실수 X O O X 문자열 X X X O 비교연산자 : 같음 (==), 같지않음 (!=), 같지않음 (<>) 구분 진리값 정수 실수 문자열 진리값 O X X X 정수 X O X X 실수 X X O X 문자열 X X X O 증감연산자 : 증가 (++), 감소 (--) 2018-05-17 Sollae Systems page 4 of 16

진리값정수실수문자열 X O X X 논리연산자 : AND(&&), OR( ) 구분 진리값 정수 실수 문자열 진리값 O O X O 정수 O O X O 실수 X X X X 문자열 O O X O 논리연산자 : NOT(!) 진리값정수실수문자열 O O X O 부호연산자 : 양수 (+), 음수 (-) 진리값정수실수문자열 X O O X 제어구조의표현식 : if 문, for 문, (do) while 문 진리값정수실수문자열 O O X O printf 함수의출력포맷 구분 진리값 정수 실수 문자열 %b, %o, %x X O X X %d, %u X O X X %c X O X X %e, %f, %g X X O X %s X X X O PHPoC vs PHP > PHPoC 의특징 > 자료형 2018-05-17 Sollae Systems page 5 of 16

PHPoC vs PHP > PHPoC 의특징 > 변수 변수 (Variables) 변수선언 변수를선언할때반드시초기값을지정해주어야합니다. 또한단일행에서둘이상의변수를선언할수없습니다. 변수이름의최대크기는 32 바이트입니다. 변수이름이 32 바이트를넘는경우에는나머지부분이무시됩니다. 가변변수이름 (Variable Variables) 가변변수이름을지원하지않습니다. 2018-05-17 Sollae Systems page 6 of 16

PHPoC vs PHP > PHPoC 의특징 > 상수 상수 (Constants) 상수선언 'const' 키워드를사용한상수의선언을지원하지않습니다. 미리정의된상수 (Predefined Constants) PHPoC 는몇가지미리정의된상수를제공합니다. 자세한내용은부록을참조하세요. 2018-05-17 Sollae Systems page 7 of 16

PHPoC vs PHP > PHPoC 의특징 > 연산자 연산자 (Operators) 연산자우선순위 우선순위 연산자기호 연산자구분 높음 [ ( 괄호 ++ -- ~ (int) (string) (bool) 증감 / 캐스트! 논리 * / % 산술 + -. 산술 <> 비트 < <= > >= 비교 ==!= ===!== <> 비교 & 비트 ^ 비트 비트 && 논리 논리? : 비교 ( 삼항 ) 낮음 = += -= *= /=.= %= &= = ^= <>= 대입 산술연산자 (Arighmetic Operators) PHPoC 는정수와정수의산술연산결과는항상정수입니다. PHPoC <?php $a = 3; $b = 2; echo $a / $b; // 출력결과 : 1( 정수 )?> PHP <?php $a = 3; $b = 2; echo $a / $b; // 출력결과 : 1.5?> 에러제어연산자 (Error Control Operators) 에러제어연산자 (@) 는지원하지않습니다. 2018-05-17 Sollae Systems page 8 of 16

PHPoC vs PHP > PHPoC 의특징 > 연산자 실행연산자 (Excecution Operators) 실행연산자 (` `) 는지원하지않습니다. 논리연산자 (Logical Operators) 논리연산자는기호형태로 ('!', '&&', ' ', '^') 만사용이가능하며문자형태 (NOT, AND, OR, XOR) 로는사용할수없습니다. 배열연산자 (Array Operators) 배열연산자 (Union, Equality, Identity 등 ) 는지원하지않습니다. 2018-05-17 Sollae Systems page 9 of 16

PHPoC vs PHP > PHPoC 의특징 > 제어구조 제어구조 (Control Structures) 제어구조 다음의제어구조는지원하지않습니다. foreach, declare, require, require_once, goto, label 대체문법 (Alternative Syntax for Control Structures) 모든제어구조를위한대체문법 (':', endif, endwhile 등 ) 은지원하지않습니다. Switch 문 Switch 문의 case 표현식뒤에 ':'( 콜론 ) 대신 ';'( 세미콜론 ) 을사용할수없습니다. 2018-05-17 Sollae Systems page 10 of 16

PHPoC vs PHP > PHPoC 의특징 > 함수 함수 (Functions) 함수의선언 PHP 에서는함수의호출을선언보다먼저할수있지만, PHPoC 는반드시선언을먼저한이후에호출을할수있습니다. 함수인수 (Function Arguments) 하나의사용자함수의인자값은그이름이중복됨을허용하지않습니다. 반환값 (Returning Values) 사용자정의함수는함수의반환값이지정되지않았을때 NULL 이아닌 0 을반환합니다. 참조에의한반환을지원하지않습니다. 가변함수이름 (Variable Functions) 가변함수이름은지원하지않습니다. 이름없는함수 (Anonymous functions) 이름없는함수는지원하지않습니다. 내부함수 PHPoC 는다양한내부함수를지원합니다. 이함수들의자세한사용법은 PHPoC Internal Functions 문서를참조하시기바랍니다. 2018-05-17 Sollae Systems page 11 of 16

PHPoC vs PHP > PHPoC 의특징 > 네임스페이스 네임스페이스 (Namespaces) 사용자정의네임스페이스 (User-defined Namespaces) 사용자정의네임스페이스는지원하지않습니다. 네임스페이스의공유 키워드, 함수및상수는네임스페이스를공유합니다. 따라서함수및상수를만들때동일한이름이없도록유의하시기바랍니다. 2018-05-17 Sollae Systems page 12 of 16

미리정의된상수 (Predefined Constants) PHPoC vs PHP > 부록 > 미리정의된상수 PHPoC 는다음의미리정의된상수들을제공합니다. 미리정의된상수 설명 값 COUNT_NORMAL 일반적카운팅 (1차원배열요소카운팅 ) 0 COUNT_RECURSIVE 반복적카운팅 ( 다차원배열요소카운팅 ) 1 EPIPE 파이프종료 (Broken Pipe), TCP데이터송신중접속이끊어지면반환됨 32 (0x20) EBUSY 디바이스사용중 (Device or Resource Busy) 16 (0x10) ENOENT 파일엔트리에없음 2 FALSE 거짓 0 M_PI 원주율 3.141592653589793 M_E 자연대수 2.718281828459045 MAX_STRING_LEN 최대문자열변수길이 1,534 O_NODIE 스크립트종료회피 : 파일열기 4 PHP_VERSION_ID PHPoC 버전정보 - SEEK_SET 파일포인터위치 : 파일의시작 0 SEEK_CUR 파일포인터위치 : 현재위치 1 SEEK_END 파일포인터위치 : 파일의끝 2 SSL_CONNECTED SSL 접속상태 : 접속완료 19 (0x13) SSL_CLOSED SSL 접속상태 : 접속끊김 0 SSL_LISTEN SSL 접속상태 : 접속대기 1 TRUE 참 1 TCP_CLOSED TCP 접속상태 : 접속끊김 0 TCP_LISTEN TCP 접속상태 : 접속대기 1 TCP_CONNECTED TCP 접속상태 : 접속완료 4 2018-05-17 Sollae Systems page 13 of 16

PHPoC vs PHP > 부록 > 키워드 키워드 (Keyword) 다음은 PHPoC 에서미리정의된키워드입니다. 키워드, 함수그리고상수는하나의네임스페이스를공유하므로함수및상수를선언할때아래의키워드와중복되지않도록유의하시기바랍니다. a b c d e g i p r s w 알파벳 array bool boolean break case const continue default define die do echo else elseif exit global goto if int integer include include_once print return static string switch while 미리정의된키워드 2018-05-17 Sollae Systems page 14 of 16

PHPoC vs PHP > 부록 > 메모리관련제한사항 메모리관련제한사항 선언가능한최대변수개수 PHPoC 는메모리용량이제한적이므로변수의사용에필요한메모리용량또한제한되어있습니다. 따라서변수의개수와문자열변수의길이는제한되며, 문자열변수가크기가늘어날수록이와반비례하여사용가능한개수는줄어듭니다. 2018-05-17 Sollae Systems page 15 of 16

PHPoC vs PHP > 부록 > 오류메시지 오류메시지 (Error Messages) PHPoC 는사용자디버깅을위해다양한오류메시지를콘솔로출력합니다. 에러메시지 address already in use argument count mismatch cannot break/continue N level(s) 'case' or 'default' expected device or resource busy divided by zero duplicated name expression syntax error file name too long file not found function not implemented integer number too large invalid argument invalid constant name invalid device or address maximum execution time exceeded missing operator missing terminating character ''' or '"' modifiable value required only variable can be passed by reference operation not permitted out of memory string too long syntax error syntax error, unexpected array [, expecting 'token'] syntax error, unexpected character syntax error, unexpected 'character' [, expecting 'character'] syntax error, unexpected end of file syntax error, unexpected 'name' [, expecting 'character'] syntax error, unexpected number [, expecting 'character'] syntax error, unexpected 'operator' [, expecting 'token'] syntax error, unexpected string [, expecting 'character'] syntax error, unexpected 'token' [, expecting 'token'] syntax error, unexpected variable [, expecting 'character'] too many open files undefined name undefined offset unsupported argument type unsupported operand type unsupported operator unsupported pid unsupported type juggling 'while' expected 2018-05-17 Sollae Systems page 16 of 16