/Latte

Lazy, Advanced, Test-friendly, exTensible, Effective

Primary LanguageKotlinMIT LicenseMIT

semver Travis License GitHub code size in bytes works badge

Latte

Lazy, Advanced, Test-friendly, exTensible, Effective

Latte 는 프로그래밍 언어입니다. Latte 는 명확하고 가독성 높은 코드를 지향하며 JVM Bytecode, JavaScript, LLVM 등 여러 플랫폼을 대상으로 개발 하는 중입니다. Latte 는 적은 추가 런타임 라이브러리를 지향하고, 소스 간 컴파일 후에 보더라도 그 언어를 사용한 것 같은 코드를 생성하는 것이 목표입니다.

철학

  1. 간결하게
  2. 명시적으로
  3. 순수하고도
  4. 코드젠에 의존적이지 않으며
  5. 유닛 테스트 친화적인
  6. 아름다운 코드
  7. 그래도 실용성이 먼저.

TODO

Lexer

  • 다중 줄 주석 지원
  • char 리터럴 지원
  • 다중 줄 문자열 리터럴 지원
  • \u 이스케이프 시퀀스 지원

Parser

  • 망할놈의 LALR 버리고 Top-down 갑니다.
  • package, import 제외 모든 구문 트리 구축

Code Generator

  • 구현

라이선스

The MIT License (MIT)

Copyright (c) 2017 LatteLang

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.