converted build toolchain to CMake
This commit is contained in:
parent
3c89ae1c95
commit
0ec7a7f583
|
@ -0,0 +1,59 @@
|
|||
cmake_minimum_required(VERSION 2.8)
|
||||
project(lci)
|
||||
|
||||
ENABLE_TESTING()
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake )
|
||||
|
||||
SET(PERFORM_MEM_TESTS FALSE CACHE BOOL "Whether or not to enable memory testing")
|
||||
MARK_AS_ADVANCED(PERFORM_MEM_TESTS)
|
||||
|
||||
IF(${PERFORM_MEM_TESTS})
|
||||
find_program(VALGRIND valgrind)
|
||||
IF(NOT VALGRIND)
|
||||
message(FATAL_ERROR
|
||||
"
|
||||
Error: You've enabled memory testing but we can't find valgrind
|
||||
Try one of the following:
|
||||
1: Make sure valgrind is in your PATH
|
||||
2: Install valgrind if you already haven't
|
||||
3: Disable memory testing
|
||||
")
|
||||
ENDIF(NOT VALGRIND)
|
||||
ENDIF(${PERFORM_MEM_TESTS})
|
||||
|
||||
SET(HDRS
|
||||
interpreter.h
|
||||
lexer.h
|
||||
parser.h
|
||||
tokenizer.h
|
||||
unicode.h
|
||||
)
|
||||
|
||||
SET(SRCS
|
||||
interpreter.c
|
||||
lexer.c
|
||||
main.c
|
||||
parser.c
|
||||
tokenizer.c
|
||||
unicode.c
|
||||
)
|
||||
|
||||
add_executable(lci ${SRCS} ${HDRS})
|
||||
target_link_libraries(lci m)
|
||||
add_subdirectory(test)
|
||||
install(
|
||||
TARGETS lci
|
||||
RUNTIME DESTINATION bin
|
||||
)
|
||||
|
||||
find_package(Doxygen)
|
||||
if(DOXYGEN_FOUND)
|
||||
add_custom_target(docs
|
||||
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Generating API documentation with Doxygen" VERBATIM
|
||||
)
|
||||
else(DOXYGEN_FOUND)
|
||||
message(WARNING
|
||||
"Couldn't find doxygen. You won't be able to generate documentation now")
|
||||
endif(DOXYGEN_FOUND)
|
50
Makefile
50
Makefile
|
@ -1,50 +0,0 @@
|
|||
TARGET = lci
|
||||
LIBS = -lm
|
||||
OBJS = lexer.o tokenizer.o parser.o interpreter.o unicode.o main.o
|
||||
SRCS = lexer.c tokenizer.c parser.c interpreter.c unicode.c main.c
|
||||
HDRS = lexer.h tokenizer.h parser.h interpreter.h unicode.h
|
||||
INSTALL = /usr/local/bin/install -c
|
||||
CPPFLAGS = -O3
|
||||
LINT = splint -nullret -temptrans -compdestroy -usereleased -compdef -compmempass -mustfreefresh -boolops -predboolint -nullpass -nullderef +boolint -predboolothers -uniondef -unqualifiedtrans -nullstate -bufferoverflowhigh -branchstate -mustfreeonly -nullassign -shiftimplementation -exportlocal
|
||||
|
||||
prefix = /usr/local
|
||||
bindir = $(prefix)/bin
|
||||
testdir = ./test
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
$(TARGET): $(OBJS)
|
||||
$(CC) $(CPPFLAGS) -o $(TARGET) $(OBJS) $(LIBS)
|
||||
|
||||
pedantic: $(OBJS)
|
||||
$(CC) -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wundef -Wall -ansi -pedantic -o $(TARGET) $(SRCS) $(HDRS) $(LIBS)
|
||||
|
||||
lint: all
|
||||
$(LINT) $(SRCS)
|
||||
|
||||
debug: $(OBJS)
|
||||
$(CC) -g -o $(TARGET) $(SRCS) $(LIBS)
|
||||
|
||||
check: all
|
||||
@cd $(testdir) && ./testDir.sh -q ../$(TARGET) 1.3-Tests
|
||||
|
||||
check-mem: all
|
||||
@echo "This will take a long time! Be patient!"
|
||||
@cd $(testdir) && ./testDir.sh -q -m ../$(TARGET) 1.3-Tests
|
||||
|
||||
install: all
|
||||
$(INSTALL) $(TARGET) $(bindir)/$(TARGET)
|
||||
|
||||
TAGS: $(SRCS) $(HDRS)
|
||||
ctags $(SRCS) $(HDRS)
|
||||
|
||||
docs: Doxyfile $(SRCS)
|
||||
doxygen
|
||||
|
||||
clean:
|
||||
-rm -f $(OBJS)
|
||||
-rm -f $(TARGET)
|
||||
|
||||
distclean: clean
|
||||
-rm -f tags
|
||||
-rm -rf html
|
93
README
93
README
|
@ -2,7 +2,7 @@
|
|||
|
||||
LICENSE
|
||||
|
||||
Copyright (C) 2010-2011 Justin J. Meza
|
||||
Copyright (C) 2010-2012 Justin J. Meza
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -39,19 +39,90 @@ http://github.com/justinmeza/lci/issues.
|
|||
|
||||
Created and maintained by Justin J. Meza <justin.meza@gmail.com>.
|
||||
|
||||
INSTALLATION
|
||||
PREREQUISITES
|
||||
|
||||
To install lci, you should be able to
|
||||
1. You must have CMake installed (www.cmake.org).
|
||||
a) If you're using a Linux distro with package managment CMake should be in
|
||||
your repositories.
|
||||
|
||||
$ make && make check
|
||||
2. Python 2.7+ or Python 2.x with the argparse module installed.
|
||||
|
||||
and, assuming no errors are encountered (if there are, please let us know at
|
||||
http://groups.google.com/group/lci-general) go ahead and run (with administrator
|
||||
privileges)
|
||||
INSTALLATION: THE EASY WAY ON LINUX OR MAC OSX
|
||||
|
||||
# make install
|
||||
1. run the script install.py. Note that
|
||||
|
||||
Optionally, you may want to make documentation for lci. This requires the
|
||||
doxygen program. To do so, do
|
||||
$ ./install.py -h
|
||||
|
||||
$ make docs
|
||||
will display a list of relavent install options. For
|
||||
example, if I wanted to install lci to the directory
|
||||
"/home/kurtis/opt" I would run:
|
||||
|
||||
$ ./install.py --prefix="/home/kurtis/opt"
|
||||
|
||||
|
||||
INSTALLATION: THE MORE INVOLVED WAY ON LINUX OR MAC OSX
|
||||
|
||||
1. Configure lci using CMake. This can be as simple as opening up the terminal,
|
||||
navigating to the directory containing lci and typing:
|
||||
|
||||
$ cmake .
|
||||
|
||||
You can also provide any other argument to the CMake configuration process
|
||||
you'd like. To enable Memory testing turn the PERFORM_MEM_TESTS option on
|
||||
like so:
|
||||
|
||||
$ cmake -DPERFORM_MEM_TESTS:BOOL=ON .
|
||||
|
||||
You can also use the "ccmake" command or the CMake GUI if you prefer.
|
||||
See the cmake documentation for more details.
|
||||
|
||||
2. Build the project:
|
||||
|
||||
$ make
|
||||
|
||||
3. Install
|
||||
|
||||
$ make install
|
||||
|
||||
4. (Optional) Build documentation:
|
||||
|
||||
$ make doc
|
||||
|
||||
5. (Optional) Run tests:
|
||||
|
||||
$ ctest
|
||||
|
||||
INSTALLATION ON WINDOWS
|
||||
|
||||
(Note that the instructions were written from the point of view of Windows 7,
|
||||
but in practice, any modern version will work.)
|
||||
|
||||
1. Add MinGW and Python to your PATH.
|
||||
|
||||
- Start > right-click Computer > Properties > Advanced system settings
|
||||
> Environment Variables....
|
||||
|
||||
- Select the "PATH" variable and click "Edit...".
|
||||
|
||||
- Add ";C:\MinGW\bin;C:\Python32" to the end.
|
||||
|
||||
3. Open an Administrator shell
|
||||
|
||||
- Start > All Programs > Accessories > right-click Command Prompt
|
||||
> Run as administrator.
|
||||
|
||||
4. Navigate to the project directory using the "cd" command, for example,
|
||||
|
||||
> cd C:\Users\%user%\Documents\lci
|
||||
|
||||
5. run the script install.py. Note that
|
||||
|
||||
> install.py -h
|
||||
|
||||
will display a list of relavent install options. For
|
||||
example, if I wanted to install lci to the directory
|
||||
"C:\Program Files\lci" I would run:
|
||||
|
||||
> install.py --prefix="C:/Program Files/lci"
|
||||
|
||||
(notice that forward slashes are used to separate directories.)
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
#!/usr/bin/python
|
||||
import subprocess
|
||||
import argparse
|
||||
import sys
|
||||
import os
|
||||
|
||||
#Checks if a string is a positive integer
|
||||
def positiveInt(string):
|
||||
value = int(string)
|
||||
if not value >= 1:
|
||||
msg = string + " is not a positive integer"
|
||||
raise argparse.ArgumentTypeError(msg)
|
||||
return value
|
||||
|
||||
"""
|
||||
Runs a subprocess using the command parameter.
|
||||
Before running the command it displays a message
|
||||
that contains the provided description and where
|
||||
the output will be sent. If an error occurs,
|
||||
the errorMsg is displayed.
|
||||
"""
|
||||
def runSubProc(command, description, errorMsg, output):
|
||||
msg = description
|
||||
msg += "and writing results to " + output +"."
|
||||
print(msg + "\n")
|
||||
|
||||
outputFile = open(output, "w")
|
||||
if os.name == "nt":
|
||||
proc = subprocess.Popen(command, stdout=outputFile, stderr=subprocess.STDOUT, shell=True)
|
||||
else:
|
||||
proc = subprocess.Popen(command, stdout=outputFile, stderr=subprocess.STDOUT)
|
||||
proc.wait()
|
||||
if proc.returncode != 0:
|
||||
print("Error installing: " + errorMsg)
|
||||
sys.exit(1)
|
||||
|
||||
#Remove the CMakeCache.txt so we can garuntee a fresh configure
|
||||
if os.path.exists("CMakeCache.txt"):
|
||||
os.remove("CMakeCache.txt")
|
||||
|
||||
parser = argparse.ArgumentParser(description="Installation script for lci")
|
||||
parser.add_argument('-p', '--prefix', default=None, help="Installation prefix")
|
||||
parser.add_argument('-m', '--enableMemCheck', action="store_true", help="Enable memory testing")
|
||||
parser.add_argument('-d', '--buildDocs', action="store_true", help="Build documentation")
|
||||
parser.add_argument('-t', '--runTests', action="store_true", help="Run Tests")
|
||||
parser.add_argument('-j', metavar="NumProcs", type=positiveInt, default=1, help="Number of processes for make to use and (if enabled) how many processes CTest should use.")
|
||||
|
||||
args = parser.parse_args()
|
||||
j = str(args.j)
|
||||
|
||||
cmakeCommand = ["cmake"]
|
||||
makeCommand = "make"
|
||||
|
||||
# Support for Windows
|
||||
if os.name == "nt":
|
||||
cmakeCommand.append("-G \"MinGW Makefiles\"")
|
||||
makeCommand = "mingw32-make"
|
||||
|
||||
if args.prefix != None:
|
||||
cmakeCommand.append("-DCMAKE_INSTALL_PREFIX:STRING=\""+args.prefix+"\"")
|
||||
if args.enableMemCheck:
|
||||
cmakeCommand.append("-DPERFORM_MEM_TESTS:BOOL=ON")
|
||||
cmakeCommand.append(".")
|
||||
|
||||
# Windows does weird things if this is not joined...
|
||||
cmakeCommand = " ".join(cmakeCommand)
|
||||
|
||||
runSubProc(
|
||||
cmakeCommand,
|
||||
"Running cmake with command: \n\"" + cmakeCommand + "\"\n",
|
||||
"There was a CMake error",
|
||||
"configure.out")
|
||||
|
||||
runSubProc(
|
||||
[makeCommand, "-j"+j],
|
||||
"Running make ",
|
||||
"There was a make error",
|
||||
"make.out")
|
||||
|
||||
|
||||
if args.buildDocs:
|
||||
runSubProc(
|
||||
[makeCommand, "-j"+j, "docs"],
|
||||
"Building documentation ",
|
||||
"There was a documentation building error",
|
||||
"docs.out")
|
||||
|
||||
runSubProc(
|
||||
[makeCommand, "install"],
|
||||
"Installing ",
|
||||
"There was an installation error",
|
||||
"install.out")
|
||||
|
||||
if args.runTests:
|
||||
runSubProc(
|
||||
["ctest", "-j"+j],
|
||||
"Testing ",
|
||||
"There was a testing error",
|
||||
"test.out")
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-EmptyMainBlock OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(10-CommasSeparate OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(11-EllipsesJoinLF OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(12-EllipsesJoinCR OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(13-EllipsesJoinCRLF OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(14-NoNewlineAfterJoinLF OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(15-NoNewlineAfterJoinCR OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(16-NoNewlineAfterJoinCRLF OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(17-Includes OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-MustBeginWithHAI OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-MustIncludeVersion OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(4-MustEndWithKTHXBYE OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(5-IndentationIgnored OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(6-WhitespaceBetweenTokens OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(7-NewlineLF OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(8-NewlineCR OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(9-NewlineCRLF OUTPUT test.out)
|
|
@ -0,0 +1,17 @@
|
|||
add_subdirectory(1-EmptyMainBlock)
|
||||
add_subdirectory(10-CommasSeparate)
|
||||
add_subdirectory(11-EllipsesJoinLF)
|
||||
add_subdirectory(12-EllipsesJoinCR)
|
||||
add_subdirectory(13-EllipsesJoinCRLF)
|
||||
add_subdirectory(14-NoNewlineAfterJoinLF)
|
||||
add_subdirectory(15-NoNewlineAfterJoinCR)
|
||||
add_subdirectory(16-NoNewlineAfterJoinCRLF)
|
||||
add_subdirectory(17-Includes)
|
||||
add_subdirectory(2-MustBeginWithHAI)
|
||||
add_subdirectory(3-MustIncludeVersion)
|
||||
add_subdirectory(4-MustEndWithKTHXBYE)
|
||||
add_subdirectory(5-IndentationIgnored)
|
||||
add_subdirectory(6-WhitespaceBetweenTokens)
|
||||
add_subdirectory(7-NewlineLF)
|
||||
add_subdirectory(8-NewlineCR)
|
||||
add_subdirectory(9-NewlineCRLF)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-Breaks OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-Increment OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-Decrement OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(4-Until OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(5-While OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(6-UnaryFunction OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(7-EmptyBody OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(8-UntilMustIncludeVar OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(9-WhileMustIncludeVar OUTPUT test.out)
|
|
@ -0,0 +1,9 @@
|
|||
add_subdirectory(1-Breaks)
|
||||
add_subdirectory(2-Increment)
|
||||
add_subdirectory(3-Decrement)
|
||||
add_subdirectory(4-Until)
|
||||
add_subdirectory(5-While)
|
||||
add_subdirectory(6-UnaryFunction)
|
||||
add_subdirectory(7-EmptyBody)
|
||||
add_subdirectory(8-UntilMustIncludeVar)
|
||||
add_subdirectory(9-WhileMustIncludeVar)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-EllipsesJoinLF OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-EllipsesJoinCR OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-EllipsesJoinCRLF OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(4-Strings OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(5-CodePointInString OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(6-NormativeNameInString OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(7-InvalidCodePointInString OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(8-InvalidNormativeName OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(9-ByteOrderMark OUTPUT test.out)
|
|
@ -0,0 +1,9 @@
|
|||
add_subdirectory(1-EllipsesJoinLF)
|
||||
add_subdirectory(2-EllipsesJoinCR)
|
||||
add_subdirectory(3-EllipsesJoinCRLF)
|
||||
add_subdirectory(4-Strings)
|
||||
add_subdirectory(5-CodePointInString)
|
||||
add_subdirectory(6-NormativeNameInString)
|
||||
add_subdirectory(7-InvalidCodePointInString)
|
||||
add_subdirectory(8-InvalidNormativeName)
|
||||
add_subdirectory(9-ByteOrderMark)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-EmptyArray OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(10-CallingObjectInitialization OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(11-AlternateSyntax OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-Declaration OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-Assignment OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-AlternateSyntax OUTPUT test.out)
|
|
@ -0,0 +1,3 @@
|
|||
add_subdirectory(1-Declaration)
|
||||
add_subdirectory(2-Assignment)
|
||||
add_subdirectory(3-AlternateSyntax)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-SlotCreation OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-SlotInitialization OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(4-SlotAssignment OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(5-FunctionStorage OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(6-FunctionDeclaration OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(7-CallingObjectReference OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(8-CallingObjectAssignment OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(9-CallingObjectDeclaration OUTPUT test.out)
|
|
@ -0,0 +1,12 @@
|
|||
add_subdirectory(1-EmptyArray)
|
||||
add_subdirectory(10-CallingObjectInitialization)
|
||||
add_subdirectory(11-AlternateSyntax)
|
||||
add_subdirectory(12-Inheritance)
|
||||
add_subdirectory(2-SlotCreation)
|
||||
add_subdirectory(3-SlotInitialization)
|
||||
add_subdirectory(4-SlotAssignment)
|
||||
add_subdirectory(5-FunctionStorage)
|
||||
add_subdirectory(6-FunctionDeclaration)
|
||||
add_subdirectory(7-CallingObjectReference)
|
||||
add_subdirectory(8-CallingObjectAssignment)
|
||||
add_subdirectory(9-CallingObjectDeclaration)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-EndOfLine OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-SeparateLine OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-AfterCommaSeparator OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(4-BeforeHAI OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(5-AfterKTHXBYE OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(6-IgnoreContinuation OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(7-IgnoreJoin OUTPUT test.out)
|
|
@ -0,0 +1,7 @@
|
|||
add_subdirectory(1-EndOfLine)
|
||||
add_subdirectory(2-SeparateLine)
|
||||
add_subdirectory(3-AfterCommaSeparator)
|
||||
add_subdirectory(4-BeforeHAI)
|
||||
add_subdirectory(5-AfterKTHXBYE)
|
||||
add_subdirectory(6-IgnoreContinuation)
|
||||
add_subdirectory(7-IgnoreJoin)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-SeparateStartEndLines OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(10-AfterKTHXBYE OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-SeparateStartLineOnly OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-SeparateEndLineOnly OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(4-MustStartOnSeparateLine OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(5-MustEndOnOwnLine OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(6-BeginAfterLineSeparator OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(7-EndBeforeLineSeparator OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(8-IgnoreEmbeddedBTW OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(9-BeforeHAI OUTPUT test.out)
|
|
@ -0,0 +1,10 @@
|
|||
add_subdirectory(1-SeparateStartEndLines)
|
||||
add_subdirectory(10-AfterKTHXBYE)
|
||||
add_subdirectory(2-SeparateStartLineOnly)
|
||||
add_subdirectory(3-SeparateEndLineOnly)
|
||||
add_subdirectory(4-MustStartOnSeparateLine)
|
||||
add_subdirectory(5-MustEndOnOwnLine)
|
||||
add_subdirectory(6-BeginAfterLineSeparator)
|
||||
add_subdirectory(7-EndBeforeLineSeparator)
|
||||
add_subdirectory(8-IgnoreEmbeddedBTW)
|
||||
add_subdirectory(9-BeforeHAI)
|
|
@ -0,0 +1,2 @@
|
|||
add_subdirectory(1-SingleLine)
|
||||
add_subdirectory(2-MultipleLine)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-NilToBoolean OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-NilToInteger OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-NilToFloat OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(4-NilToString OUTPUT test.out)
|
|
@ -0,0 +1,4 @@
|
|||
add_subdirectory(1-NilToBoolean)
|
||||
add_subdirectory(2-NilToInteger)
|
||||
add_subdirectory(3-NilToFloat)
|
||||
add_subdirectory(4-NilToString)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-BooleanImplicitCasts OUTPUT test.out)
|
|
@ -0,0 +1 @@
|
|||
add_subdirectory(1-BooleanImplicitCasts)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-NegativeValue OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-MustHaveAdjacentHyphen OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-ImplicitCasts OUTPUT test.out)
|
|
@ -0,0 +1,3 @@
|
|||
add_subdirectory(1-NegativeValue)
|
||||
add_subdirectory(2-MustHaveAdjacentHyphen)
|
||||
add_subdirectory(3-ImplicitCasts)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-OnlyOneDecimalPoint OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-MustHaveAdjacentHyphen OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-ImplicitCasts OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(4-Truncation OUTPUT test.out)
|
|
@ -0,0 +1,4 @@
|
|||
add_subdirectory(1-OnlyOneDecimalPoint)
|
||||
add_subdirectory(2-MustHaveAdjacentHyphen)
|
||||
add_subdirectory(3-ImplicitCasts)
|
||||
add_subdirectory(4-Truncation)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(1-Newline OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(2-Tab OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(3-Bell OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(4-DoubleQuote OUTPUT test.out)
|
|
@ -0,0 +1,2 @@
|
|||
INCLUDE(AddLolTest)
|
||||
ADD_LOL_TEST(5-Colon OUTPUT test.out)
|
|
@ -0,0 +1,5 @@
|
|||
add_subdirectory(1-Newline)
|
||||
add_subdirectory(2-Tab)
|
||||
add_subdirectory(3-Bell)
|
||||
add_subdirectory(4-DoubleQuote)
|
||||
add_subdirectory(5-Colon)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue