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