Browse Source

antlr grammar

master
n0m1s 6 years ago
parent
commit
a62bd00928
Signed by: nomis GPG Key ID: BC0454CAD76FE803
3 changed files with 20 additions and 4 deletions
  1. +1
    -0
      .gitignore
  2. +8
    -0
      JdrScript.g4
  3. +11
    -4
      makefile

+ 1
- 0
.gitignore View File

@ -1 +1,2 @@
jdr-server
antlr/*

+ 8
- 0
JdrScript.g4 View File

@ -0,0 +1,8 @@
grammar JdrScript;
//Tokens
NUMBER: [0-9]+;
WHITESPACE: [ \r\n\t]+ -> skip;
//Rules
start: NUMBER EOF;

+ 11
- 4
makefile View File

@ -1,18 +1,25 @@
GO := $(shell which go)
GO := $(shell which go)
ANTLR := $(shell which antlr4)
BINARY_NAME := jdr-server
FILES = $(shell find . -type f -name '*.go')
ANTLRDIR := antlr
ANTLRGRAM := JdrScript.g4
ANTLRFILE := $(ANTLRDIR)/$(shell echo $(basename $(ANTLRGRAM)) | tr A-Z a-z)_parser.go
GOFILES = $(shell find . -type f -name '*.go' -not -path '*/$(ANTLRDIR)/*')
.PHONY: all run clean
all: $(BINARY_NAME)
$(BINARY_NAME): $(FILES)
$(GO) fmt $(addprefix ./, $(shell dirname $^ | sort | uniq))
$(BINARY_NAME): $(ANTLRFILE) $(GOFILES)
$(GO) get
$(GO) build -o $@ -v
$(ANTLRFILE): $(ANTLRGRAM)
$(ANTLR) -Dlanguage=Go -o $(ANTLRDIR) $<
run: $(BINARY_NAME)
./$(BINARY_NAME)


Loading…
Cancel
Save