ruco-cpp 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/ruco +3 -2
- data/lib/ruco/version.rb +1 -1
- data/lib/ruco.rb +57 -0
- metadata +11 -11
- /data/data/{ruco → ruco-cpp}/Parser.frame +0 -0
- /data/data/{ruco → ruco-cpp}/Scanner.frame +0 -0
- /data/data/{ruco → ruco-cpp}/picojson/Changes +0 -0
- /data/data/{ruco → ruco-cpp}/picojson/LICENSE +0 -0
- /data/data/{ruco → ruco-cpp}/picojson/Makefile +0 -0
- /data/data/{ruco → ruco-cpp}/picojson/README.mkdn +0 -0
- /data/data/{ruco → ruco-cpp}/picojson/examples/github-issues.cc +0 -0
- /data/data/{ruco → ruco-cpp}/picojson/examples/iostream.cc +0 -0
- /data/data/{ruco → ruco-cpp}/picojson/examples/streaming.cc +0 -0
- /data/data/{ruco → ruco-cpp}/picojson/picojson.h +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8456b33c27c7b0f589ce32b10785f6da9437ae21
|
4
|
+
data.tar.gz: 859c0745003b7c4a2741e4d14daccb1043e9f464
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ac5de3e243e7882839e3eb1773c86e258c2d129e91354a94fe94c87b3afe274577628d9268ebd788e3b3b9e2410c5999bef470deea7e3c6a66dcfd35f8e909d
|
7
|
+
data.tar.gz: 2ae249b86e0c9d982dc311e5894e246116178a8a6a403d895acc2f93eddecbb18104806a881ebc1ff7cca5cbc9768902b8c70de52963a353bceba09e9fcbd77e
|
data/bin/ruco
CHANGED
@@ -21,10 +21,11 @@ File.write("#{grammar_name}.atg",rr.generate_atg)
|
|
21
21
|
File.write("#{grammar_name}.hpp",rr.generate_header)
|
22
22
|
File.write("parse_#{grammar_name}.cpp",rr.generate_libcpp)
|
23
23
|
File.write("parse_#{grammar_name}.hpp",rr.generate_libhpp)
|
24
|
-
|
24
|
+
File.write("Makefile", rr.generate_makefile) unless File.exists? "Makefile"
|
25
|
+
FileUtils.cp(File.join(Gem.datadir("ruco-cpp"), "picojson", "picojson.h"),"picojson.hpp")
|
25
26
|
|
26
27
|
atg = File.join(Dir.pwd, "#{grammar_name}.atg")
|
27
|
-
datadir = Gem.datadir "ruco"
|
28
|
+
datadir = Gem.datadir "ruco-cpp"
|
28
29
|
puts atg
|
29
30
|
|
30
31
|
Cocor.compile atg, datadir, grammar_name.capitalize, "#{Dir.pwd}/"
|
data/lib/ruco/version.rb
CHANGED
data/lib/ruco.rb
CHANGED
@@ -620,6 +620,63 @@ namespace #{@name}
|
|
620
620
|
CPPCONTENT
|
621
621
|
end
|
622
622
|
|
623
|
+
def generate_makefile
|
624
|
+
<<-MAKEFILEEND
|
625
|
+
V = 0
|
626
|
+
AT_0 := @
|
627
|
+
AT_1 :=
|
628
|
+
REDIR_0 := > /dev/null
|
629
|
+
REDIR_1 :=
|
630
|
+
AT = $(AT_$(V))
|
631
|
+
REDIR = $(REDIR_$(V))
|
632
|
+
|
633
|
+
CXXFLAGS=-g -Wall -std=gnu++11
|
634
|
+
|
635
|
+
LDFLAGS=
|
636
|
+
TARGET=#{@name.downcase}_parse
|
637
|
+
SRCDIR=.
|
638
|
+
SRC=$(shell find $(SRCDIR) -name "*.cpp")
|
639
|
+
OUT=obj
|
640
|
+
OBJS=$(SRC:%.cpp=$(OUT)/%.o)
|
641
|
+
DEPS=$(SRC:%.cpp=$(OUT)/%.d)
|
642
|
+
NODEPS=clean
|
643
|
+
|
644
|
+
.PHONY = all clean
|
645
|
+
|
646
|
+
.SECONDEXPANSION:
|
647
|
+
|
648
|
+
all: $(TARGET)
|
649
|
+
$(AT)echo "Build complete"
|
650
|
+
|
651
|
+
clean:
|
652
|
+
$(AT)-rm -rf $(TARGET) $(OUT)
|
653
|
+
|
654
|
+
ifeq (0, $(words $(findstring $(MAKECMDGOALS), $(NODEPS))))
|
655
|
+
-include $(DEPS)
|
656
|
+
endif
|
657
|
+
|
658
|
+
$(TARGET): $(OBJS) $(LUA)
|
659
|
+
$(AT)echo [LINK] $@
|
660
|
+
$(AT)$(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@
|
661
|
+
|
662
|
+
%/.f:
|
663
|
+
$(AT)echo [MKDIR] $(dir $@)
|
664
|
+
$(AT)mkdir -p $(dir $@)
|
665
|
+
$(AT)touch $@
|
666
|
+
|
667
|
+
$(OUT)/%.d:%.cpp $$(@D)/.f
|
668
|
+
$(AT)echo [DEP] $<
|
669
|
+
$(AT)$(CXX) $(CXXFLAGS) -MM -MT '$(patsubst %.d,%.o,$@)' $< -MF $@
|
670
|
+
|
671
|
+
$(OUT)/%.o:%.cpp $(OUT)/%.d
|
672
|
+
$(AT)echo [C++] $<
|
673
|
+
$(AT)$(CXX) $< $(CXXFLAGS) -c -o $@
|
674
|
+
|
675
|
+
.PRECIOUS: %/.f
|
676
|
+
|
677
|
+
MAKEFILEEND
|
678
|
+
end
|
679
|
+
|
623
680
|
def generate_atg()
|
624
681
|
|
625
682
|
productionlist = []
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruco-cpp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Siaw
|
@@ -93,16 +93,16 @@ files:
|
|
93
93
|
- bin/console
|
94
94
|
- bin/ruco
|
95
95
|
- bin/setup
|
96
|
-
- data/ruco/Parser.frame
|
97
|
-
- data/ruco/Scanner.frame
|
98
|
-
- data/ruco/picojson/Changes
|
99
|
-
- data/ruco/picojson/LICENSE
|
100
|
-
- data/ruco/picojson/Makefile
|
101
|
-
- data/ruco/picojson/README.mkdn
|
102
|
-
- data/ruco/picojson/examples/github-issues.cc
|
103
|
-
- data/ruco/picojson/examples/iostream.cc
|
104
|
-
- data/ruco/picojson/examples/streaming.cc
|
105
|
-
- data/ruco/picojson/picojson.h
|
96
|
+
- data/ruco-cpp/Parser.frame
|
97
|
+
- data/ruco-cpp/Scanner.frame
|
98
|
+
- data/ruco-cpp/picojson/Changes
|
99
|
+
- data/ruco-cpp/picojson/LICENSE
|
100
|
+
- data/ruco-cpp/picojson/Makefile
|
101
|
+
- data/ruco-cpp/picojson/README.mkdn
|
102
|
+
- data/ruco-cpp/picojson/examples/github-issues.cc
|
103
|
+
- data/ruco-cpp/picojson/examples/iostream.cc
|
104
|
+
- data/ruco-cpp/picojson/examples/streaming.cc
|
105
|
+
- data/ruco-cpp/picojson/picojson.h
|
106
106
|
- ext/cocor/Action.cpp
|
107
107
|
- ext/cocor/Action.h
|
108
108
|
- ext/cocor/ArrayList.cpp
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|