From eb64274f8fc92c2dacbd650810b131d0a69ff57c Mon Sep 17 00:00:00 2001 From: Pieter Olivier Date: Wed, 29 Jan 2025 15:06:45 +0100 Subject: [PATCH 1/2] Added missing translation of \f to formfeed character --- src/org/rascalmpl/values/parsetrees/SymbolFactory.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/org/rascalmpl/values/parsetrees/SymbolFactory.java b/src/org/rascalmpl/values/parsetrees/SymbolFactory.java index d3dac7eb4b1..21516f6e363 100644 --- a/src/org/rascalmpl/values/parsetrees/SymbolFactory.java +++ b/src/org/rascalmpl/values/parsetrees/SymbolFactory.java @@ -290,6 +290,7 @@ private static IValue char2int(Char character) { case 't': return factory.integer('\t'); case 'n': return factory.integer('\n'); case 'r': return factory.integer('\r'); + case 'f': return factory.integer('\f'); case '\"' : return factory.integer('\"'); case '\'' : return factory.integer('\''); case '-' : return factory.integer('-'); From 78117e812e6321e4d64002cf8aa2168218e54040 Mon Sep 17 00:00:00 2001 From: Pieter Olivier Date: Wed, 29 Jan 2025 15:42:23 +0100 Subject: [PATCH 2/2] Added support for \f and \b --- src/org/rascalmpl/library/String.rsc | 2 ++ src/org/rascalmpl/values/parsetrees/SymbolFactory.java | 1 + 2 files changed, 3 insertions(+) diff --git a/src/org/rascalmpl/library/String.rsc b/src/org/rascalmpl/library/String.rsc index 132c288a987..70989855aa5 100644 --- a/src/org/rascalmpl/library/String.rsc +++ b/src/org/rascalmpl/library/String.rsc @@ -101,6 +101,8 @@ str deescape(str s) { case /^\\ \\]>/ => c case /^\\t/ => "\t" case /^\\n/ => "\n" + case /^\\f/ => "\f" + case /^\\b/ => "\b" case /^\\u/ => stringChar(toInt("0x")) case /^\\U/ => stringChar(toInt("0x")) case /^\\a/ => stringChar(toInt("0x")) diff --git a/src/org/rascalmpl/values/parsetrees/SymbolFactory.java b/src/org/rascalmpl/values/parsetrees/SymbolFactory.java index 21516f6e363..3533d194343 100644 --- a/src/org/rascalmpl/values/parsetrees/SymbolFactory.java +++ b/src/org/rascalmpl/values/parsetrees/SymbolFactory.java @@ -291,6 +291,7 @@ private static IValue char2int(Char character) { case 'n': return factory.integer('\n'); case 'r': return factory.integer('\r'); case 'f': return factory.integer('\f'); + case 'b': return factory.integer('\b'); case '\"' : return factory.integer('\"'); case '\'' : return factory.integer('\''); case '-' : return factory.integer('-');