parent
9bf99db87b
commit
b07e1f81a6
@ -659,7 +659,12 @@ class LexerTokenStream(TokenStream):
|
|||||||
tokbuf.append(tok)
|
tokbuf.append(tok)
|
||||||
|
|
||||||
if tok.type == "NEWLINE":
|
if tok.type == "NEWLINE":
|
||||||
break
|
# detect/remove line continuations
|
||||||
|
if len(tokbuf) > 2 and tokbuf[-2].type == "\\":
|
||||||
|
tokbuf.pop()
|
||||||
|
tokbuf.pop()
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
|
||||||
# detect/combine user defined literals
|
# detect/combine user defined literals
|
||||||
if tok.type in udl_start:
|
if tok.type in udl_start:
|
||||||
|
@ -116,17 +116,14 @@ def test_enum_w_multiline_expr() -> None:
|
|||||||
Token(value="<<"),
|
Token(value="<<"),
|
||||||
Token(value="24"),
|
Token(value="24"),
|
||||||
Token(value="|"),
|
Token(value="|"),
|
||||||
Token(value="\\"),
|
|
||||||
Token(value="'A'"),
|
Token(value="'A'"),
|
||||||
Token(value="<<"),
|
Token(value="<<"),
|
||||||
Token(value="16"),
|
Token(value="16"),
|
||||||
Token(value="|"),
|
Token(value="|"),
|
||||||
Token(value="\\"),
|
|
||||||
Token(value="'S'"),
|
Token(value="'S'"),
|
||||||
Token(value="<<"),
|
Token(value="<<"),
|
||||||
Token(value="8"),
|
Token(value="8"),
|
||||||
Token(value="|"),
|
Token(value="|"),
|
||||||
Token(value="\\"),
|
|
||||||
Token(value="'H'"),
|
Token(value="'H'"),
|
||||||
Token(value=")"),
|
Token(value=")"),
|
||||||
]
|
]
|
||||||
|
@ -267,3 +267,30 @@ def test_user_defined_literal() -> None:
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Line continuation
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
def test_line_continuation() -> None:
|
||||||
|
content = """
|
||||||
|
static int \
|
||||||
|
variable;
|
||||||
|
"""
|
||||||
|
data = parse_string(content, cleandoc=True)
|
||||||
|
|
||||||
|
assert data == ParsedData(
|
||||||
|
namespace=NamespaceScope(
|
||||||
|
variables=[
|
||||||
|
Variable(
|
||||||
|
name=PQName(segments=[NameSpecifier(name="variable")]),
|
||||||
|
type=Type(
|
||||||
|
typename=PQName(segments=[FundamentalSpecifier(name="int")])
|
||||||
|
),
|
||||||
|
static=True,
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user