Skip to content

Chig-Beef/Slide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Slide Programming Language

Slide is a relatively simple programming language the has the ability to slide in a variety of emitters, allowing it to take advantage of a variety of performance and libraries from other technologies.

Todo

Lexer

  • Map init
  • +=, -=, etc

Parse

  • Map init
  • +=, -=, etc

Semantic Analysis

  • Correct types used in expression
  • Correct type returned in function
  • Correct type assigned to variable
  • Breaks only in loop
  • Continue only in loop
  • Returns only in functions
  • Only dereference pointers
  • Only index array
  • Can't compare arraylists
  • Check array index is int
  • Check argument types match
  • Check for out-of-bound on array
  • Type inference
  • Only nils for pointers
  • Exhaustive switches
  • Switches on same time
  • No Illegals

Tests

  • Create proper tests
  • Map of structs
  • Array of structs
  • Struct with array, arraylist, map, and pointer properties
  • Map init
  • Complete compiler test

Emitter

  • Golang emitter

Working Outputs

  • Compiler
  • array
  • bubblesort
  • control
  • enum
  • func
  • map
  • primes
  • simple
  • stack
  • structs
  • switch
  • typedef

About

The Slide Programming Language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages