apfl/src/Makefile.am
Laria Carolin Chabowski 1630314dc7 Implement matching assignments
This allows the destructuring of lists into individual values.
We can have arbitrarily nested lists, can check for constant values and can
have up to one '~'-prefixed variable per list, that will capture the
remaining elements of the list.

It is implemented as a second set of bytecode instructions, which define a
matcher. These matchers should also enable us to implement the same pattern
matching capabiities for function parameters.

Not all matching features are implemented yet, predicate matching and
matching into a dictionary key is not implemented yet.
2022-07-28 20:46:32 +02:00

75 lines
2 KiB
Makefile

AM_CFLAGS=--std=c11 -Wall -Werror -Wextra -pedantic
lib_LIBRARIES = libapfl.a
libapfl_a_SOURCES =
libapfl_a_SOURCES += alloc.c
libapfl_a_SOURCES += bytecode.c
libapfl_a_SOURCES += compile.c
libapfl_a_SOURCES += context.c
libapfl_a_SOURCES += error.c
libapfl_a_SOURCES += eval.c
libapfl_a_SOURCES += expr.c
libapfl_a_SOURCES += format.c
libapfl_a_SOURCES += gc.c
libapfl_a_SOURCES += hashmap.c
libapfl_a_SOURCES += globals.c
libapfl_a_SOURCES += matcher.c
libapfl_a_SOURCES += messages.c
libapfl_a_SOURCES += parser.c
libapfl_a_SOURCES += position.c
libapfl_a_SOURCES += resizable.c
libapfl_a_SOURCES += source_readers.c
libapfl_a_SOURCES += scope.c
libapfl_a_SOURCES += strings.c
libapfl_a_SOURCES += token.c
libapfl_a_SOURCES += tokenizer.c
libapfl_a_SOURCES += value.c
apfl_internal_headers =
apfl_internal_headers += alloc.h
apfl_internal_headers += bytecode.h
apfl_internal_headers += compile.h
apfl_internal_headers += context.h
apfl_internal_headers += format.h
apfl_internal_headers += gc.h
apfl_internal_headers += globals.h
apfl_internal_headers += hashmap.h
apfl_internal_headers += matcher.h
apfl_internal_headers += resizable.h
apfl_internal_headers += scope.h
apfl_internal_headers += strings.h
apfl_internal_headers += value.h
EXTRA_DIST = $(apfl_internal_headers) apfl.h
apflincludesdir = $(pkgincludedir)/apfl
apflincludes_HEADERS = apfl.h
bin_PROGRAMS = apfl
apfl_SOURCES = main.c apfl.h
apfl_LDADD = libapfl.a
TESTS =
check_PROGRAMS =
TESTS += tokenizer.test
check_PROGRAMS += tokenizer.test
tokenizer_test_SOURCES = tokenizer_test.c test.h
tokenizer_test_LDADD = libapfl.a
TESTS += parser.test
check_PROGRAMS += parser.test
parser_test_SOURCES = parser_test.c test.h
parser_test_LDADD = libapfl.a
TESTS += resizable.test
check_PROGRAMS += resizable.test
resizable_test_SOURCES = resizable_test.c test.h resizable.h
resizable_test_LDADD = libapfl.a
TESTS += hashmap.test
check_PROGRAMS += hashmap.test
hashmap_test_SOURCES = hashmap_test.c test.h hashmap.h
hashmap_test_LDADD = libapfl.a