11#ifndef FORTRAN_PARSER_TYPE_PARSER_IMPLEMENTATION_H_
12#define FORTRAN_PARSER_TYPE_PARSER_IMPLEMENTATION_H_
14#include "type-parsers.h"
17#undef TYPE_CONTEXT_PARSER
23#define TYPE_PARSER(pexpr) \
25 auto Parser<typename decltype(attempt(pexpr))::resultType>::Parse( \
27 ->std::optional<resultType> { \
28 static constexpr auto parser{(pexpr)}; \
29 return parser.Parse(state); \
32#define TYPE_CONTEXT_PARSER(contextText, pexpr) \
33 TYPE_PARSER(CONTEXT_PARSER((contextText), (pexpr)))