diff options
author | bnewbold <bnewbold@robocracy.org> | 2016-12-26 05:02:38 -0800 |
---|---|---|
committer | bnewbold <bnewbold@robocracy.org> | 2016-12-26 05:02:38 -0800 |
commit | f97396ea89704ff2ccab28d7b27ceeeb3201ddd0 (patch) | |
tree | 366af1d133cdca89cfe1329194f2e9081f253272 /modelica-parser-lalrpop | |
parent | 3983ac71d8911234342386aed897d6d2f9fef13f (diff) | |
download | modelthing-f97396ea89704ff2ccab28d7b27ceeeb3201ddd0.tar.gz modelthing-f97396ea89704ff2ccab28d7b27ceeeb3201ddd0.zip |
parser: fix string_literals
Diffstat (limited to 'modelica-parser-lalrpop')
-rw-r--r-- | modelica-parser-lalrpop/src/ast.rs | 3 | ||||
-rw-r--r-- | modelica-parser-lalrpop/src/parser.lalrpop | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/modelica-parser-lalrpop/src/ast.rs b/modelica-parser-lalrpop/src/ast.rs index f31681e..f1e7d93 100644 --- a/modelica-parser-lalrpop/src/ast.rs +++ b/modelica-parser-lalrpop/src/ast.rs @@ -224,6 +224,9 @@ impl SimpleEquation { impl Debug for ModelicaModel { fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> { try!(write!(fmt, "model {}\n", self.name)); + if let Some(ref desc) = self.description { + try!(write!(fmt, " \"{}\"\n", desc)); + } for v in self.components.iter() { try!(write!(fmt, " {:?};\n", v)); } diff --git a/modelica-parser-lalrpop/src/parser.lalrpop b/modelica-parser-lalrpop/src/parser.lalrpop index 94795c6..cb59a82 100644 --- a/modelica-parser-lalrpop/src/parser.lalrpop +++ b/modelica-parser-lalrpop/src/parser.lalrpop @@ -21,7 +21,8 @@ pub identifier: String = { }; string_literal: String = { - r#""[^"\\]*""# => <>.to_string(), + // Strip quotes from string literals + <s:r#""[^"\\]*""#> => s[1..s.len()-1].to_string(), }; pub integer: i64 = { |