Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Major mode for ParselTongue.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Makefile
Octocat-spinner-32 README.md
Octocat-spinner-32 UNLICENSE
Octocat-spinner-32 demo.psl
Octocat-spinner-32 psl
Octocat-spinner-32 psl-compile.el
Octocat-spinner-32 psl-lib.el
Octocat-spinner-32 psl-mode.el
README.md

ParselTongue mode (psl-mode)

It looks like this,

Automatic indentation is supported by a full language parser. If psl-program-name is set up then the current buffer can be executed by the interpreter with psl-run-buffer (C-c C-r).

Installation

Add this Git repository to your load path.

(add-to-list 'load-path "/path/to/repo")
(require 'psl-mode)

Automatic indentation benefits greatly from byte-compilation so it's a good idea to byte-compile the package using the provided Makefile. This will also generate an autoloads file, which would be required instead of psl-mode.

(require 'psl-mode-autoloads)

ParselTongue Compiler

Also included with psl-mode is a ParselTongue compiler which compiles a ParselTongue program into Elisp. To compile and evaluate a ParselTongue program inside of Emacs (no spawning other processes), use psl-eval-buffer (C-c C-e). This compiler can be accessed standalone with the provided psl script.

Compiled ParselTongue is about four orders of magnitude faster than the reference implementation interpreter. It can also parse much closer to the spec, giving more freedom to the programmer. However, there are a handful of semantic issues and one or two parser issues that remain in the compiler.

References

Something went wrong with that request. Please try again.