forked from solstice/solstice
need to fix some solstice bugs before i can start on lexer
This commit is contained in:
49
Makefile
49
Makefile
@@ -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
|
||||
16
src/lexer/lexer.sols
Normal file
16
src/lexer/lexer.sols
Normal file
@@ -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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user