aboutsummaryrefslogtreecommitdiff
path: root/builder.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2012-12-23 17:09:28 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2012-12-23 17:09:28 +0200
commit57cbee2f3377e079efa5b5652f6e9ea30720fa15 (patch)
treefe781aa05c585fe2d8907eca4e5eda68553cabcd /builder.py
parent802d56d135bd5de4a7a2d127dd8ed9f0038da227 (diff)
downloadmeson-57cbee2f3377e079efa5b5652f6e9ea30720fa15.zip
meson-57cbee2f3377e079efa5b5652f6e9ea30720fa15.tar.gz
meson-57cbee2f3377e079efa5b5652f6e9ea30720fa15.tar.bz2
Detect strings and end-of-lines.
Diffstat (limited to 'builder.py')
-rwxr-xr-xbuilder.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/builder.py b/builder.py
index 923b381..e415456 100755
--- a/builder.py
+++ b/builder.py
@@ -24,7 +24,10 @@ tokens = ['LPAREN',
'EQUALS',
'COMMA',
'DOT',
- 'STRING']
+ 'STRING',
+ 'EOL_CONTINUE',
+ 'EOL',
+ ]
t_EQUALS = '='
t_LPAREN = '\('
@@ -34,8 +37,10 @@ t_COMMENT = '\#[^\n]*'
t_COMMA = ','
t_DOT = '\.'
t_STRING = "'[^']*'"
+t_EOL_CONTINUE = r'\\\n'
+t_EOL = r'\n'
-t_ignore = ' \t\n'
+t_ignore = ' \t'
def t_error(t):
print("Illegal character '%s'" % t.value[0])
@@ -44,7 +49,8 @@ def t_error(t):
def test_lexer():
s = """hello = (something) # this = (that)
function(h)
- obj.method(lll, 'string')
+ obj.method(lll, \\
+ 'string')
"""
lexer = lex.lex()
lexer.input(s)