라이브러리
[PHP] ParleRParser::nonassoc - 연관성이 없는 토큰 선언
ParleRParser::nonassoc
ParleRParser는 PHP에서 사용하는 파서 라이브러리 중 하나입니다. ParleRParser::nonassoc는 연산자 우선순위를 정의할 때 사용하는 키워드입니다.
연산자 우선순위
연산자 우선순위는 연산자와 연산자의 우선순위를 정의하는 방법입니다. 예를 들어, `+`와 `*`의 우선순위를 정의할 때, `*`가 더 높은 우선순위를 가질 수 있습니다.
nonassoc
`nonassoc`는 연산자 우선순위를 정의할 때 사용하는 키워드 중 하나입니다. `nonassoc`는 연산자가 왼쪽 연산자 인 경우, 오른쪽 연산자 인 경우, 또는 양쪽 연산자 인 경우를 모두 처리할 수 있는 연산자입니다.
예제
다음 예제는 `nonassoc`를 사용하여 연산자 우선순위를 정의하는 방법을 보여줍니다.
#hostingforum.kr
php
class Calculator {
public function calculate($expression) {
$parser = new ParleRParser();
$parser->nonassoc('+', '-', '*', '/');
$parser->nonassoc('^');
$parser->leftvalue('(', ')');
$parser->leftvalue('[');
$parser->leftvalue(']');
$tree = $parser->parse($expression);
return $this->evaluate($tree);
}
private function evaluate($tree) {
// ...
}
}
$calculator = new Calculator();
$expression = '2 + 3 * 4';
$result = $calculator->calculate($expression);
echo $result; // 14
nonassoc 예제
다음 예제는 `nonassoc`를 사용하여 연산자 우선순위를 정의하는 방법을 보여줍니다.
#hostingforum.kr
php
class Calculator {
public function calculate($expression) {
$parser = new ParleRParser();
$parser->nonassoc('^', '*', '/', '+', '-');
$parser->leftvalue('(', ')');
$parser->leftvalue('[');
$parser->leftvalue(']');
$tree = $parser->parse($expression);
return $this->evaluate($tree);
}
private function evaluate($tree) {
// ...
}
}
$calculator = new Calculator();
$expression = '2 ^ 3 * 4';
$result = $calculator->calculate($expression);
echo $result; // 64
결론
`nonassoc`는 연산자 우선순위를 정의할 때 사용하는 키워드 중 하나입니다. `nonassoc`를 사용하여 연산자 우선순위를 정의할 수 있습니다. 예제를 통해 `nonassoc`를 사용하는 방법을 보여주었습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.