diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-04-28 22:45:38 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-04-28 22:55:04 -0700 |
commit | c51043abdf83243f81685858d8f76793faed042b (patch) | |
tree | 362afefaa547dc1f8dd490947056a558d5fe3b17 /cpp/013literal_string.cc | |
parent | e3fa6cc7af792a6c0d83d9004859d6e9452c5fdb (diff) | |
download | mu-c51043abdf83243f81685858d8f76793faed042b.tar.gz |
1217 - string literals weren't handling later comments
Diffstat (limited to 'cpp/013literal_string.cc')
-rw-r--r-- | cpp/013literal_string.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/cpp/013literal_string.cc b/cpp/013literal_string.cc index b27ede36..203859e1 100644 --- a/cpp/013literal_string.cc +++ b/cpp/013literal_string.cc @@ -22,7 +22,12 @@ recipe main [ Type_number["literal-string"] = 0; :(after "string next_word(istream& in)") -if (in.peek() == '[') return slurp_quoted(in); + if (in.peek() == '[') { + string result = slurp_quoted(in); + skip_whitespace(in); + skip_comment(in); + return result; + } :(code) string slurp_quoted(istream& in) { @@ -61,3 +66,12 @@ recipe main [ 1:address:array:character <- copy [abc [def]] ] +parse: ingredient: {name: "abc [def]", value: 0, type: 0, properties: ["abc [def]": "literal-string"]} + +:(scenario string_literal_and_comment) +recipe main [ + 1:address:array:character <- copy [abc] # comment +] ++parse: instruction: 1 ++parse: ingredient: {name: "abc", value: 0, type: 0, properties: ["abc": "literal-string"]} ++parse: product: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character"]} +$parse: 3 |