Skip to content

Instantly share code, notes, and snippets.

@annathelibri
Created March 14, 2019 20:15
Show Gist options
  • Save annathelibri/05e80353d07092140048c037f9508fb1 to your computer and use it in GitHub Desktop.
Save annathelibri/05e80353d07092140048c037f9508fb1 to your computer and use it in GitHub Desktop.
package lin.tests
import lin.io
val example = "Hello World!"
fun main() {
println(example)
}
////
////
(package <PKG_NAME>)?
(import <IMPORTS>)*
(
(
(val|var) <VAR_NAME> (= <VAR_VALUE>)?
)|(
fun <FUN_NAME> <FUN_PARAMS> <STMT>
)|(
data? class <CLASS_NAME> <CLASS_CONSTRUCTORS> <SUPERCLASS>? <CLASSBODY>
)
)*
////
data class LinPackage(
val name: String,
val variables: Map<String, LinVar>,
val functions: Map<String, LinFun>,
val classes: Map<String, LinClass>
)
data class LinFile(
val package: String?,
val imports: List<String>,
val variables: Map<String, LinVar>,
val functions: Map<String, LinFun>
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment