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