mirror of
https://github.com/hazemKrimi/jack-compiler.git
synced 2026-05-01 17:48:57 +00:00
feat: tokenizer scaffolding
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
package tokenizer
|
||||
|
||||
type TokenType int
|
||||
|
||||
const (
|
||||
KEYWORD TokenType = iota
|
||||
SYMBOL
|
||||
INT_CONST
|
||||
STR_CONST
|
||||
IDENTIFIER
|
||||
)
|
||||
|
||||
type Token struct {
|
||||
Value string
|
||||
Type TokenType
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"regexp"
|
||||
)
|
||||
|
||||
func process(Path string) {
|
||||
fmt.Println(Path)
|
||||
}
|
||||
|
||||
func main() {
|
||||
args := os.Args
|
||||
|
||||
if len(args) != 2 {
|
||||
panic("You must provide a path for a Jack file or a directory that contains Jack files to compile!")
|
||||
}
|
||||
|
||||
Path := args[1]
|
||||
|
||||
if match, _ := regexp.MatchString(".+\\.jack", Path); match {
|
||||
process(Path)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user