용암(프로그래밍 언어)

Lava (programming language)

Lava텍스트 편집기 대신 구조 편집기를 사용하는 관련 프로그래밍 환경(Lava Programming Environment 또는 LavaPE)을 사용하는 실험적인 시각적 객체 지향 인터프리터 기반 프로그래밍 언어입니다.주석, 상수 및 새 식별자만 텍스트로 입력할 수 있습니다.

선언은 LavaPE에서 하위 트리가 축소되거나 확장될 수 있는 나무 구조물로 표현된다.선언된 Lava 엔티티의 속성은 팝업 대화상자를 통해 편집할 수 있습니다.

실행 코드는 LavaPE에서 기존 텍스트 표현을 사용하지만 문자별이 아닌 완전한 구문 단위로만 편집할 수 있습니다.새로운 구문구조를 삽입하면 일반적으로 "플레이스홀더"(구문변수)가 포함되어 구체적인 구문구조에 의해 대체될 수 있습니다.구문변수에는 구문변수 등이 포함될 수 있습니다.LavaPE는 모든 유형의 구문 구조에 대한 도구 버튼을 제공하며, 선택한 위치에 관련 구문을 삽입하는 것이 구문적으로 올바른 경우에만 버튼이 활성화됩니다.

Lava와 LavaPE의 또 다른 특징적인 특성은 다음과 같다.

  • Lava 클래스의 인터페이스(퍼블릭) 섹션과 구현(프라이빗) 섹션을 엄격하게 구문적으로 분리합니다.
  • 변수 "상태 개체"와 상수 "값 개체"를 구분합니다. 생성/초기화 후에는 변수를 더 이상 수정할 수 없습니다.
  • 클래스 및 패키지의 유형 매개 변수(관련 클래스의 패밀리)를 지원합니다.그 결과, "타입 캐스트"에 의한 강력한 타입 체크의 저하가 불필요하게 되었습니다.
  • 기존 루프 구성 대신 재귀 및 논리 수량자사용합니다.
  • 단일 할당을 사용합니다. 즉, 함수의 동일한 분기 내에서 한 번만 변수에 값을 할당할 수 있습니다.
  • LavaPE 구조 편집기를 통한 광범위한 리팩터링을 지원합니다.
  • 구성 요소(하위 개체)와 개체 지인(독립 개체로의 포인터)을 구분합니다.복잡한 객체의 복사 및 삭제는 이러한 방식으로 대부분 쉬워집니다.
  • 릴리스 0.9.0 이후 LavaPE에서는 완전한 정적 초기화 체크를 통해 프로그래밍 시 이미 초기화되지 않은 변수 및 늘오브젝트에 대한 의도치 않은 접근을 완전히 방지합니다.

Lava는 GPL 라이선스를 사용하는 오픈소스 소프트웨어입니다(Free Software Foundation KDE-Apps.org의 Lava도 참조).현재 Microsoft Windows, LinuxMac OS X 플랫폼에서 실행됩니다.

레퍼런스

  • Lava – An Object-Oriented RAD Language Designed for Ease of Learning, Use, and Program Comprehension (PDF). Gesellschaft für Informatik. October 2001.
  • 용암: Bausteinbasiertes Programmieren mit Struktureditoren (독일어, OBJEKTsprektrum 1/2002 기사)

외부 링크