diff --git a/pom.xml b/pom.xml
index 6e61cb69b6..ad5e2608d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -210,6 +210,7 @@
 				<module>rpn</module>
 				<module>ruby</module>
 				<module>scala</module>
+				<module>scotty</module>
 				<module>scss</module>
 				<module>sexpression</module>
 				<module>sgf</module>
diff --git a/scotty/README.md b/scotty/README.md
new file mode 100755
index 0000000000..def0b9597c
--- /dev/null
+++ b/scotty/README.md
@@ -0,0 +1,3 @@
+# Scotty Grammar
+
+An ANTLR4 grammar for [Scotty](https://esolangs.org/wiki/Scotty) files.
diff --git a/scotty/examples/example1.txt b/scotty/examples/example1.txt
new file mode 100644
index 0000000000..ce92fbe46e
--- /dev/null
+++ b/scotty/examples/example1.txt
@@ -0,0 +1 @@
++ 1 1
diff --git a/scotty/pom.xml b/scotty/pom.xml
new file mode 100644
index 0000000000..24d5a503d5
--- /dev/null
+++ b/scotty/pom.xml
@@ -0,0 +1,55 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>scotty</artifactId>
+	<packaging>jar</packaging>
+	<name>khubla.com Scotty grammar</name>
+	<parent>
+		<groupId>org.antlr.grammars</groupId>
+		<artifactId>grammarsv4</artifactId>
+		<version>1.0-SNAPSHOT</version>
+		<relativePath>../pom.xml</relativePath>
+	</parent>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.antlr</groupId>
+				<artifactId>antlr4-maven-plugin</artifactId>
+				<version>${antlr.version}</version>
+				<configuration>
+					<sourceDirectory>${basedir}</sourceDirectory>
+					<grammars>scotty.g4</grammars>
+					<visitor>true</visitor>
+					<listener>true</listener>
+				</configuration>
+				<executions>
+					<execution>
+						<goals>
+							<goal>antlr4</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>com.khubla.antlr</groupId>
+				<artifactId>antlr4test-maven-plugin</artifactId>
+				<version>${antlr4test-maven-plugin.version}</version>
+				<configuration>
+					<verbose>false</verbose>
+					<showTree>false</showTree>
+					<entryPoint>prog</entryPoint>
+					<grammarName>scotty</grammarName>
+					<packageName></packageName>
+					<exampleFiles>examples/</exampleFiles>
+				</configuration>
+				<executions>
+					<execution>
+						<goals>
+							<goal>test</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/scotty/scotty.g4 b/scotty/scotty.g4
new file mode 100644
index 0000000000..2d74df85b8
--- /dev/null
+++ b/scotty/scotty.g4
@@ -0,0 +1,96 @@
+/*
+BSD License
+
+Copyright (c) 2019, Tom Everett
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of Tom Everett nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+grammar scotty;
+
+prog
+   : program_lines
+   ;
+
+program_lines
+   : prefix_exp
+   | fn_def program_lines
+   | var_assign program_lines
+   ;
+
+var_assign
+   : identifier '=' prefix_exp
+   ;
+
+fn_def
+   : 'fun' identifier identifier '=' prefix_exp
+   ;
+
+prefix_exp
+   : ('+' prefix_exp prefix_exp)
+   | ('-' prefix_exp prefix_exp)
+   | ('*' prefix_exp prefix_exp)
+   | ('/' prefix_exp prefix_exp)
+   | ('(' identifier prefix_exp ')')
+   | identifier
+   | number
+   ;
+
+identifier
+   : LETTER id_tail
+   | LETTER
+   ;
+
+id_tail
+   : LETTER id_tail
+   | DIGIT id_tail
+   | LETTER
+   | DIGIT
+   ;
+
+number
+   : '-' digits
+   | digits
+   ;
+
+digits
+   : DIGIT digits
+   | '.' digits
+   | DIGIT
+   ;
+
+DIGIT
+   : [0-9]
+   ;
+
+LETTER
+   : [A-Za-z]
+   ;
+
+WS
+   : [ \t\r\n] -> skip
+   ;
+