문법 파서 드루팔 호스팅

프로젝트 정보

프로젝트 : drupal.org/project/pgp 및 drupal.org/project/coder (특히 coder_upgrade 모듈)
상태 : 생성 문법 파서 모듈, API 모듈을 파서를 사용하는 패치를 작성, 자동화 모듈 변환 루틴을 구현해야

기술

내 프로젝트는 두 가지입니다. 첫째, 문법 구문 분석기 모듈이 기록됩니다. 이 모듈은 분석하고 소스 코드 파일을 수정하는 재귀 하강 문법 파서를 제공 할 것입니다. 목표는 (낮은 수준의 토큰 반대) 프로그래밍 언어의 문법을 기반으로 소스 코드를 구성하여, 더 쉽게 프로그래밍 방식으로 할 수있는 코드 복잡한 변경 (파서를 사용하여 다른 코드에 의해 즉,이다 ).

문법 파서 드루팔 호스팅 곧 기여 모듈을 포팅

역재 모듈의 드루팔 7 버전을 생성 할 것이다 두 번째 부분은 문법 구문 분석기는 더 복잡한 전환을 가능하게하고, 2) 변환 API는 비에 대한 전환 루틴을 작성할 기여 모듈 있도록 1)과 같은 새로운 기능을 통합 (coder_upgrade로 변경) 핵심 API를. 모듈의 목적은 가능한 한 많은에게 드루팔 API 변경에 대한 기여 모듈을 업데이트하는 작업을 자동화함으로써 곧 새 드루팔 릴리스 이후에 기여 모듈을 포팅하는 작업을 단순화하는 것입니다.

프로젝트 일정

  1. 디자인 및 문법 파서를 구현합니다. (6 월 21 일)
  2. 디자인 및 노출 된 API 루틴을 구현합니다. (6 월 28 일) (에디터 클래스 진행중인 작업)
  3. 파서를 이용한 변환 루틴을 만듭니다. (7 월 7 일) (에디터 클래스 진행중인 작업)
  4. 변환 결과의 표시를위한 사용자 인터페이스 에이전트. (7 월 12 일)
  5. 완성 된 변환 루틴에 대한 문서를 업데이트합니다. (7 월 31 일)
  6. 모듈을 테스트하고 변환 루틴을 작성하는 지역 사회의 지원을 요청. (8 월 1 일)
  7. 몇몇 기여 모듈의 모듈에 의해 제공되는 코드 변환 범위를 테스트한다. (8 월 17 일)

상태 업데이트

문법 파서에서 : PGPList 클래스 (PGPNode 객체의 사용자 지정 이중 연결리스트)를 추가합니다. 문법 문장, 포인터에 다음 및 이전 문 및 포함하는 목록을 보유 PGPNode 클래스를 추가합니다. 여러 줄 복잡한 수정을 허용하는 PGPList 객체 문법 어레이 리팩토링.

코더에서 업그레이드 : 그룹 변환 루틴을 처리하기 위해 (시작, 중간 또는 끝)에 의해. 두 그룹 (정규식 파서)에 별도의 중간 변환 루틴은 PGP의 API를 사용합니다. 파일 수준에서 적용 중간 변경 핸들러 사양 (정규식 또는 파서)를 추가합니다. 개정 API 문서. 가 PGP API를 사용하여 변환 루틴의 초기 배치를 구현합니다.

테스트 간청 커뮤니티 지원을 호스팅 문법 파서 드루팔

코더 업그레이드에서 : 온라인 변환 결과의 표시를 제거하고 대신 로그 파일을 만듭니다. 각 변환 모듈 또는 디렉터리에 대한 패치 파일을 만듭니다. 사용자 인터페이스에서 파일 및 패치 로그 파일에 대한 링크를 추가합니다. api.php 파일을 수정. 새로운 D7 폼 요소를 이용 개정 사용자 인터페이스. 사용자 정의 변환 루틴에 대한 hook_upgrades를 구현합니다.

문법 파서에서 : PGPEditor 클래스 및 사용자 정의 토큰 상수를 추가했습니다. 문서 항목을 작성하기위한 문법 구문 분석기를 사용하고 인터페이스와 클래스를 (그것이 현재 사용하지 않는) 처리 할 위치 할 API를 모듈에 대한 패치를 제공. 이 패치 작업을하는 데 필요한 시간은 위의 일정에서 여담 가져왔다. (단일 토큰 'ELSEIF'반대) 또한 '다른 경우'구문에 대한 지원을 추가했습니다.

문법 파서에서 : 히어 닥 토큰을 구현하고 함수 이름이 복잡한 변수 표현 인 경우 함수를 호출합니다. 파서는 알려진 비라는 이름의 토큰 (118) PHP라는 이름의 토큰 (만 T_USE 네임 스페이스에 대한 관심이다)의 다섯 가지를 제외한 모든과를 모두 구현 (예를 들어 '

코더에서 업그레이드 : coder_upgrade 같은 코더 프로젝트에 모듈을 추가합니다. '새 /' 'coder_upgrade / 오래된'와에 전환 디렉토리의 이름을 변경합니다. '관리 / 개발 / 코더 / 업그레이드'로 변경 메뉴 경로. '관리 / 설정 / 코더 / 업그레이드'하는 메뉴 경로를 변경합니다. '전환'라는 디렉토리를 추가하고이 변환 .inc 파일을 이동합니다. 역재 노드 유형을 제거합니다. (죽은 나무의 제거를 요구하는) 파일을 .install하는 업그레이드 경로를 추가합니다. 재구성 프로세스는 항상 모든 변환을 실행합니다. 개정 도움말 텍스트. 종속성으로 문법 파서 (PGP) 모듈을 추가합니다.

커밋 문법 파서 모듈 코드 분석 및 PHP 파일을 다시 작성합니다. 파서는 알려진 비라는 이름의 토큰 (일곱의 네임 스페이스가 관심있는 만 두 히어 닥 토큰 및 T_USE) 118 개 PHP라는 이름의 토큰의 일곱 제외한 모든과를 모두 구현 (예를 들어 '

제 둘째베이스 및 확장 파서 클래스와 파서 모듈 문법 커밋.

파서 모듈을 문법 커밋 결정된 초기했다. 수정 및 추가 커밋하기 전에 구문 분석 루틴을 테스트하는 것입니다.

문법 파서 모듈을 만든 초기 작업을 커밋. 드루팔 7에 데드 우드 모듈을 포팅 및 코더 프로젝트에 통합.

이 비디오를 시청!

관련 기사

필드 형 드루팔 호스팅 만들기드루팔 8 블록은 블록 플러그인의 인스턴스입니다. 드루팔 블록 관리자는 @Block 주석을 포함하는 모든 클래스에 대한 모듈을 검색합니다. 아래의 스 니펫 예제를 사용합니다 ...
호스팅 여러 사이트 드루팔 사이트시스템 관리자 나 개발자가 다중 사이트 구성에서 동일한 서버에 여러 사이트를 호스트하기 위해 선택할 수 많은 이유가있다. 예를 들어, 이러한 구성은 수 ...
여러 사이트를 호스팅 드루팔시스템 관리자 나 개발자가 다중 사이트 구성에서 동일한 서버에 여러 사이트를 호스트하기 위해 선택할 수 많은 이유가있다. 예를 들어, 이러한 구성은 수 ...
면 처리 된 검색 API를 드루팔 호스팅Compatiblity 마지막으로 알려진 호환 버전은 패싯 알파 9 API 안정적인 1.x에서 검색합니다. 패싯 모듈은 사이트 빌더 쉽게 만들고 측면 검색 인터페이스를 관리 할 수 ​​있습니다. 에서...
사이트의 모든 모듈 드루팔 호스팅시스템 관리자 나 개발자가 다중 사이트 구성에서 동일한 서버에 여러 사이트를 호스트하기 위해 선택할 수 많은 이유가있다. 예를 들어, 이러한 구성은 수 ...