aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2016-12-26 05:02:38 -0800
committerbnewbold <bnewbold@robocracy.org>2016-12-26 05:02:38 -0800
commitf97396ea89704ff2ccab28d7b27ceeeb3201ddd0 (patch)
tree366af1d133cdca89cfe1329194f2e9081f253272
parent3983ac71d8911234342386aed897d6d2f9fef13f (diff)
downloadmodelthing-f97396ea89704ff2ccab28d7b27ceeeb3201ddd0.tar.gz
modelthing-f97396ea89704ff2ccab28d7b27ceeeb3201ddd0.zip
parser: fix string_literals
-rw-r--r--modelica-parser-lalrpop/src/ast.rs3
-rw-r--r--modelica-parser-lalrpop/src/parser.lalrpop3
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 = {