diff --git a/Makefile b/Makefile deleted file mode 100644 index a28f966..0000000 --- a/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -CXX = gcc -CXXFLAGS = -Wall -Wextra -pedantic -O3 -ggdb -LDFLAGS = -lgroundvm - -BUILD_DIR = build -SRC_DIR = src -LIBS_DIR = libs - -PREFIX ?= /usr/local -BINDIR = $(PREFIX)/bin -LIBDIR = /usr/lib - -SRCS = $(SRC_DIR)/main.c $(SRC_DIR)/codegen/SolsScope.c $(SRC_DIR)/codegen/codegen.c $(SRC_DIR)/lexer/SolsLiteral.c $(SRC_DIR)/lexer/SolsToken.c $(SRC_DIR)/lexer/SolsType.c $(SRC_DIR)/lexer/lexer.c $(SRC_DIR)/parser/SolsNode.c $(SRC_DIR)/parser/parser.c $(SRC_DIR)/typeparser/typeparser.c -OBJS = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o, $(SRCS)) -TARGET = solstice - -all: $(TARGET) - -$(TARGET): $(OBJS) - $(CXX) $(OBJS) -o $(TARGET) $(LDFLAGS) - -$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c | $(BUILD_DIR) - $(CXX) $(CXXFLAGS) -c $< -o $@ - -install: $(TARGET) - mkdir -p /usr/lib/solstice - install -d $(BINDIR) - install -m 755 $(TARGET) $(BINDIR)/$(TARGET) - install -d $(LIBDIR) - cp -r libs/* $(LIBDIR)/solstice - -$(BUILD_DIR)/solstice.tar.gz: $(TARGET) $(LIBS_DIR) - mkdir -p $(BUILD_DIR)/pkg/bin $(BUILD_DIR)/pkg/lib/ - cp $(TARGET) $(BUILD_DIR)/pkg/bin/solstice - cp -r $(LIBS_DIR) $(BUILD_DIR)/pkg/lib/solstice - tar -czvf $(BUILD_DIR)/solstice.tar.gz $(BUILD_DIR)/pkg - -package: $(BUILD_DIR)/solstice.tar.gz - -$(BUILD_DIR): - mkdir -p $(BUILD_DIR) $(BUILD_DIR)/codegen $(BUILD_DIR)/lexer $(BUILD_DIR)/parser $(BUILD_DIR)/typeparser - -clean: - rm -rf $(BUILD_DIR) $(TARGET) - -run: $(TARGET) - ./$(TARGET) - -.PHONY: all clean run diff --git a/src/lexer/lexer.sols b/src/lexer/lexer.sols new file mode 100644 index 0000000..ce077ba --- /dev/null +++ b/src/lexer/lexer.sols @@ -0,0 +1,16 @@ +use collections + +struct SolsLexer { + input = "" + current = 0 + + constructor(string input) { + self.input = input + } + + def lex() List { + output = List(1) + + return output + } +} \ No newline at end of file