라이브러리

[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`를 사용하는 방법을 보여주었습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 342 페이지

검색

게시물 검색