String Manipulation InterpreterString manipulationadd commas to Numbers without String manipulationPi language interpreterBrainFlow Interpreter!Interpret /// (pronounced 'slashes')Code Golf: Gibberish EchoInterpreted InterpreterRemove more than n consecutive vowels from input stringMake a Unicorn interpreterShortest Unique Substring

Approximately how much travel time was saved by the opening of the Suez Canal in 1869?

How can bays and straits be determined in a procedurally generated map?

How do I create uniquely male characters?

Can I ask the recruiters in my resume to put the reason why I am rejected?

Is it unprofessional to ask if a job posting on GlassDoor is real?

Is a conference paper whose proceedings will be published in IEEE Xplore counted as a publication?

"You are your self first supporter", a more proper way to say it

How did the USSR manage to innovate in an environment characterized by government censorship and high bureaucracy?

Is it important to consider tone, melody, and musical form while writing a song?

Collect Fourier series terms

What does it mean to describe someone as a butt steak?

Writing rule stating superpower from different root cause is bad writing

US citizen flying to France today and my passport expires in less than 2 months

What typically incentivizes a professor to change jobs to a lower ranking university?

What is the word for reserving something for yourself before others do?

In Japanese, what’s the difference between “Tonari ni” (となりに) and “Tsugi” (つぎ)? When would you use one over the other?

tikz: show 0 at the axis origin

Today is the Center

Is it tax fraud for an individual to declare non-taxable revenue as taxable income? (US tax laws)

The use of multiple foreign keys on same column in SQL Server

Modeling an IP Address

How to write a macro that is braces sensitive?

What do "features" mean/refer to in this sentence?

Why are 150k or 200k jobs considered good when there are 300k+ births a month?



String Manipulation Interpreter


String manipulationadd commas to Numbers without String manipulationPi language interpreterBrainFlow Interpreter!Interpret /// (pronounced 'slashes')Code Golf: Gibberish EchoInterpreted InterpreterRemove more than n consecutive vowels from input stringMake a Unicorn interpreterShortest Unique Substring













4












$begingroup$


Summary



A new string manipulation language has been made, using only the characters $+#-!*|@>! Your task is to implement an interpreter for it in as few bytes as possible.



Input



A string, which is a line of this language. This can be taken in any reasonable way (stdin, function parameter, command line argument etc.), or as a predefined variable. If the program asks for user input, accept all user input it asks for from stdin and nothing more, see below. You may assume it is a valid program.



Output



Whatever the language would output, specifications below. You must output a string, in any reasonable way (stdout, function output, etc.), or a variable value. When the language outputs explicitly, this must go to stdout. Standard loopholes are banned.



Language Specifications



Processing and Syntax



The language has a very simple form of processing as it does only string manipulation: it starts with an empty string (""), and changes it with each term. A term is made up of one or two parts: a function (below) followed by possibly a parameter(below), which edits its behaviour. Terms are separated by pipes (|). You may assume it will not be an empty program, and no term will be empty. You should output the value at the end of the program.



Functions



The language has just 6 functions, as shown below. Each function either accepts one or zero parameters.




  • + concatenate strings (takes one string parameter, concatenates it to the current value)


  • ! reverse the character order of the current value (no parameter)


  • * repeat the string (takes one integer parameter, repeats the current value that many times)


  • - removes all occurrences of a value (takes one string parameter, removes all occurrences of it from the current value)


  • $ [pseudo-]randomly shuffles the current value (no parameter)


  • < output the current value to stdout (no parameters)

Values



These are the values that may be passed to functions, represented by regex that would match them:




  • @[^|]* a string literal, including any character other than pipes. It may be empty.


  • #[0-9]+ an integer literal


  • > the next line of stdin. If used with *, convert to integer.

Test Cases



╔════════════════════════╤═════════════╤══════════════╗
║code │input │output ║
╟────────────────────────┼─────────────┼──────────────╢
║+>|!|+@hello|*> │13 │ ║
║ │2 │31hello31hello║
╟────────────────────────┼─────────────┼──────────────╢
║+>|+@abcdefg|$ │hello │hcloeebafdlg ║
╟────────────────────────┼─────────────┼──────────────╢
║+@how areyou|-@o|-> │w │h areyu ║
╟────────────────────────┼─────────────┼──────────────╢
║+@out|<|*#3 │ │out ║
║ │ │outoutout ║
╟────────────────────────┼─────────────┼──────────────╢
║+> │what ever 345│what ever 345 ║
╟────────────────────────┼─────────────┼──────────────╢
║+@$pe<i@l|<|-@$pe<i@l|+>│A|$o $pe<!@| │$pe<i@l ║
║ │ │A|$o $pe<!@| ║
╚════════════════════════╧═════════════╧══════════════╝


Note that test case 2 is random, so any permutation of the characters in it is valid. Also, the outputs in the table are seperated by newlines, but your program doesn't have to do the same. The last value in each case the the final output.



Example (Un-golfed) python interpreter



Try it online! IMO better if you run it through IDLE or whatever you use. (I golfed it down to 424 bytes after, but I'm sure you lot can do better).










share|improve this question











$endgroup$







  • 1




    $begingroup$
    Allowing input to already be in a variable is non-standard, as is allowing output to be in one.
    $endgroup$
    – Jonathan Allan
    3 hours ago











  • $begingroup$
    Are we allowed to take in a generator function instead of an array/list for the input?
    $endgroup$
    – Embodiment of Ignorance
    2 hours ago











  • $begingroup$
    Also, for <, if our answer is a function that returns a value, should I print in the middle of the function and return the final string?
    $endgroup$
    – Embodiment of Ignorance
    2 hours ago










  • $begingroup$
    @EmbodimentofIgnorance RE - Generator: No, it was and is stated in my question that it is the next line of stdin. RE - <: I have clarified in my question that it must print to stdout, except the final value.
    $endgroup$
    – Artemis Fowl
    2 hours ago










  • $begingroup$
    @JonathanAllan Question clarified.
    $endgroup$
    – Artemis Fowl
    2 hours ago















4












$begingroup$


Summary



A new string manipulation language has been made, using only the characters $+#-!*|@>! Your task is to implement an interpreter for it in as few bytes as possible.



Input



A string, which is a line of this language. This can be taken in any reasonable way (stdin, function parameter, command line argument etc.), or as a predefined variable. If the program asks for user input, accept all user input it asks for from stdin and nothing more, see below. You may assume it is a valid program.



Output



Whatever the language would output, specifications below. You must output a string, in any reasonable way (stdout, function output, etc.), or a variable value. When the language outputs explicitly, this must go to stdout. Standard loopholes are banned.



Language Specifications



Processing and Syntax



The language has a very simple form of processing as it does only string manipulation: it starts with an empty string (""), and changes it with each term. A term is made up of one or two parts: a function (below) followed by possibly a parameter(below), which edits its behaviour. Terms are separated by pipes (|). You may assume it will not be an empty program, and no term will be empty. You should output the value at the end of the program.



Functions



The language has just 6 functions, as shown below. Each function either accepts one or zero parameters.




  • + concatenate strings (takes one string parameter, concatenates it to the current value)


  • ! reverse the character order of the current value (no parameter)


  • * repeat the string (takes one integer parameter, repeats the current value that many times)


  • - removes all occurrences of a value (takes one string parameter, removes all occurrences of it from the current value)


  • $ [pseudo-]randomly shuffles the current value (no parameter)


  • < output the current value to stdout (no parameters)

Values



These are the values that may be passed to functions, represented by regex that would match them:




  • @[^|]* a string literal, including any character other than pipes. It may be empty.


  • #[0-9]+ an integer literal


  • > the next line of stdin. If used with *, convert to integer.

Test Cases



╔════════════════════════╤═════════════╤══════════════╗
║code │input │output ║
╟────────────────────────┼─────────────┼──────────────╢
║+>|!|+@hello|*> │13 │ ║
║ │2 │31hello31hello║
╟────────────────────────┼─────────────┼──────────────╢
║+>|+@abcdefg|$ │hello │hcloeebafdlg ║
╟────────────────────────┼─────────────┼──────────────╢
║+@how areyou|-@o|-> │w │h areyu ║
╟────────────────────────┼─────────────┼──────────────╢
║+@out|<|*#3 │ │out ║
║ │ │outoutout ║
╟────────────────────────┼─────────────┼──────────────╢
║+> │what ever 345│what ever 345 ║
╟────────────────────────┼─────────────┼──────────────╢
║+@$pe<i@l|<|-@$pe<i@l|+>│A|$o $pe<!@| │$pe<i@l ║
║ │ │A|$o $pe<!@| ║
╚════════════════════════╧═════════════╧══════════════╝


Note that test case 2 is random, so any permutation of the characters in it is valid. Also, the outputs in the table are seperated by newlines, but your program doesn't have to do the same. The last value in each case the the final output.



Example (Un-golfed) python interpreter



Try it online! IMO better if you run it through IDLE or whatever you use. (I golfed it down to 424 bytes after, but I'm sure you lot can do better).










share|improve this question











$endgroup$







  • 1




    $begingroup$
    Allowing input to already be in a variable is non-standard, as is allowing output to be in one.
    $endgroup$
    – Jonathan Allan
    3 hours ago











  • $begingroup$
    Are we allowed to take in a generator function instead of an array/list for the input?
    $endgroup$
    – Embodiment of Ignorance
    2 hours ago











  • $begingroup$
    Also, for <, if our answer is a function that returns a value, should I print in the middle of the function and return the final string?
    $endgroup$
    – Embodiment of Ignorance
    2 hours ago










  • $begingroup$
    @EmbodimentofIgnorance RE - Generator: No, it was and is stated in my question that it is the next line of stdin. RE - <: I have clarified in my question that it must print to stdout, except the final value.
    $endgroup$
    – Artemis Fowl
    2 hours ago










  • $begingroup$
    @JonathanAllan Question clarified.
    $endgroup$
    – Artemis Fowl
    2 hours ago













4












4








4


1



$begingroup$


Summary



A new string manipulation language has been made, using only the characters $+#-!*|@>! Your task is to implement an interpreter for it in as few bytes as possible.



Input



A string, which is a line of this language. This can be taken in any reasonable way (stdin, function parameter, command line argument etc.), or as a predefined variable. If the program asks for user input, accept all user input it asks for from stdin and nothing more, see below. You may assume it is a valid program.



Output



Whatever the language would output, specifications below. You must output a string, in any reasonable way (stdout, function output, etc.), or a variable value. When the language outputs explicitly, this must go to stdout. Standard loopholes are banned.



Language Specifications



Processing and Syntax



The language has a very simple form of processing as it does only string manipulation: it starts with an empty string (""), and changes it with each term. A term is made up of one or two parts: a function (below) followed by possibly a parameter(below), which edits its behaviour. Terms are separated by pipes (|). You may assume it will not be an empty program, and no term will be empty. You should output the value at the end of the program.



Functions



The language has just 6 functions, as shown below. Each function either accepts one or zero parameters.




  • + concatenate strings (takes one string parameter, concatenates it to the current value)


  • ! reverse the character order of the current value (no parameter)


  • * repeat the string (takes one integer parameter, repeats the current value that many times)


  • - removes all occurrences of a value (takes one string parameter, removes all occurrences of it from the current value)


  • $ [pseudo-]randomly shuffles the current value (no parameter)


  • < output the current value to stdout (no parameters)

Values



These are the values that may be passed to functions, represented by regex that would match them:




  • @[^|]* a string literal, including any character other than pipes. It may be empty.


  • #[0-9]+ an integer literal


  • > the next line of stdin. If used with *, convert to integer.

Test Cases



╔════════════════════════╤═════════════╤══════════════╗
║code │input │output ║
╟────────────────────────┼─────────────┼──────────────╢
║+>|!|+@hello|*> │13 │ ║
║ │2 │31hello31hello║
╟────────────────────────┼─────────────┼──────────────╢
║+>|+@abcdefg|$ │hello │hcloeebafdlg ║
╟────────────────────────┼─────────────┼──────────────╢
║+@how areyou|-@o|-> │w │h areyu ║
╟────────────────────────┼─────────────┼──────────────╢
║+@out|<|*#3 │ │out ║
║ │ │outoutout ║
╟────────────────────────┼─────────────┼──────────────╢
║+> │what ever 345│what ever 345 ║
╟────────────────────────┼─────────────┼──────────────╢
║+@$pe<i@l|<|-@$pe<i@l|+>│A|$o $pe<!@| │$pe<i@l ║
║ │ │A|$o $pe<!@| ║
╚════════════════════════╧═════════════╧══════════════╝


Note that test case 2 is random, so any permutation of the characters in it is valid. Also, the outputs in the table are seperated by newlines, but your program doesn't have to do the same. The last value in each case the the final output.



Example (Un-golfed) python interpreter



Try it online! IMO better if you run it through IDLE or whatever you use. (I golfed it down to 424 bytes after, but I'm sure you lot can do better).










share|improve this question











$endgroup$




Summary



A new string manipulation language has been made, using only the characters $+#-!*|@>! Your task is to implement an interpreter for it in as few bytes as possible.



Input



A string, which is a line of this language. This can be taken in any reasonable way (stdin, function parameter, command line argument etc.), or as a predefined variable. If the program asks for user input, accept all user input it asks for from stdin and nothing more, see below. You may assume it is a valid program.



Output



Whatever the language would output, specifications below. You must output a string, in any reasonable way (stdout, function output, etc.), or a variable value. When the language outputs explicitly, this must go to stdout. Standard loopholes are banned.



Language Specifications



Processing and Syntax



The language has a very simple form of processing as it does only string manipulation: it starts with an empty string (""), and changes it with each term. A term is made up of one or two parts: a function (below) followed by possibly a parameter(below), which edits its behaviour. Terms are separated by pipes (|). You may assume it will not be an empty program, and no term will be empty. You should output the value at the end of the program.



Functions



The language has just 6 functions, as shown below. Each function either accepts one or zero parameters.




  • + concatenate strings (takes one string parameter, concatenates it to the current value)


  • ! reverse the character order of the current value (no parameter)


  • * repeat the string (takes one integer parameter, repeats the current value that many times)


  • - removes all occurrences of a value (takes one string parameter, removes all occurrences of it from the current value)


  • $ [pseudo-]randomly shuffles the current value (no parameter)


  • < output the current value to stdout (no parameters)

Values



These are the values that may be passed to functions, represented by regex that would match them:




  • @[^|]* a string literal, including any character other than pipes. It may be empty.


  • #[0-9]+ an integer literal


  • > the next line of stdin. If used with *, convert to integer.

Test Cases



╔════════════════════════╤═════════════╤══════════════╗
║code │input │output ║
╟────────────────────────┼─────────────┼──────────────╢
║+>|!|+@hello|*> │13 │ ║
║ │2 │31hello31hello║
╟────────────────────────┼─────────────┼──────────────╢
║+>|+@abcdefg|$ │hello │hcloeebafdlg ║
╟────────────────────────┼─────────────┼──────────────╢
║+@how areyou|-@o|-> │w │h areyu ║
╟────────────────────────┼─────────────┼──────────────╢
║+@out|<|*#3 │ │out ║
║ │ │outoutout ║
╟────────────────────────┼─────────────┼──────────────╢
║+> │what ever 345│what ever 345 ║
╟────────────────────────┼─────────────┼──────────────╢
║+@$pe<i@l|<|-@$pe<i@l|+>│A|$o $pe<!@| │$pe<i@l ║
║ │ │A|$o $pe<!@| ║
╚════════════════════════╧═════════════╧══════════════╝


Note that test case 2 is random, so any permutation of the characters in it is valid. Also, the outputs in the table are seperated by newlines, but your program doesn't have to do the same. The last value in each case the the final output.



Example (Un-golfed) python interpreter



Try it online! IMO better if you run it through IDLE or whatever you use. (I golfed it down to 424 bytes after, but I'm sure you lot can do better).







code-golf string interpreter






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 1 hour ago







Artemis Fowl

















asked 4 hours ago









Artemis FowlArtemis Fowl

2119




2119







  • 1




    $begingroup$
    Allowing input to already be in a variable is non-standard, as is allowing output to be in one.
    $endgroup$
    – Jonathan Allan
    3 hours ago











  • $begingroup$
    Are we allowed to take in a generator function instead of an array/list for the input?
    $endgroup$
    – Embodiment of Ignorance
    2 hours ago











  • $begingroup$
    Also, for <, if our answer is a function that returns a value, should I print in the middle of the function and return the final string?
    $endgroup$
    – Embodiment of Ignorance
    2 hours ago










  • $begingroup$
    @EmbodimentofIgnorance RE - Generator: No, it was and is stated in my question that it is the next line of stdin. RE - <: I have clarified in my question that it must print to stdout, except the final value.
    $endgroup$
    – Artemis Fowl
    2 hours ago










  • $begingroup$
    @JonathanAllan Question clarified.
    $endgroup$
    – Artemis Fowl
    2 hours ago












  • 1




    $begingroup$
    Allowing input to already be in a variable is non-standard, as is allowing output to be in one.
    $endgroup$
    – Jonathan Allan
    3 hours ago











  • $begingroup$
    Are we allowed to take in a generator function instead of an array/list for the input?
    $endgroup$
    – Embodiment of Ignorance
    2 hours ago











  • $begingroup$
    Also, for <, if our answer is a function that returns a value, should I print in the middle of the function and return the final string?
    $endgroup$
    – Embodiment of Ignorance
    2 hours ago










  • $begingroup$
    @EmbodimentofIgnorance RE - Generator: No, it was and is stated in my question that it is the next line of stdin. RE - <: I have clarified in my question that it must print to stdout, except the final value.
    $endgroup$
    – Artemis Fowl
    2 hours ago










  • $begingroup$
    @JonathanAllan Question clarified.
    $endgroup$
    – Artemis Fowl
    2 hours ago







1




1




$begingroup$
Allowing input to already be in a variable is non-standard, as is allowing output to be in one.
$endgroup$
– Jonathan Allan
3 hours ago





$begingroup$
Allowing input to already be in a variable is non-standard, as is allowing output to be in one.
$endgroup$
– Jonathan Allan
3 hours ago













$begingroup$
Are we allowed to take in a generator function instead of an array/list for the input?
$endgroup$
– Embodiment of Ignorance
2 hours ago





$begingroup$
Are we allowed to take in a generator function instead of an array/list for the input?
$endgroup$
– Embodiment of Ignorance
2 hours ago













$begingroup$
Also, for <, if our answer is a function that returns a value, should I print in the middle of the function and return the final string?
$endgroup$
– Embodiment of Ignorance
2 hours ago




$begingroup$
Also, for <, if our answer is a function that returns a value, should I print in the middle of the function and return the final string?
$endgroup$
– Embodiment of Ignorance
2 hours ago












$begingroup$
@EmbodimentofIgnorance RE - Generator: No, it was and is stated in my question that it is the next line of stdin. RE - <: I have clarified in my question that it must print to stdout, except the final value.
$endgroup$
– Artemis Fowl
2 hours ago




$begingroup$
@EmbodimentofIgnorance RE - Generator: No, it was and is stated in my question that it is the next line of stdin. RE - <: I have clarified in my question that it must print to stdout, except the final value.
$endgroup$
– Artemis Fowl
2 hours ago












$begingroup$
@JonathanAllan Question clarified.
$endgroup$
– Artemis Fowl
2 hours ago




$begingroup$
@JonathanAllan Question clarified.
$endgroup$
– Artemis Fowl
2 hours ago










2 Answers
2






active

oldest

votes


















1












$begingroup$


C# (Visual C# Interactive Compiler), 305 bytes





a=>'))g=$"c,2";d=g[1]==62?ReadLine():g.Substring(2);var z=c[0]%14;s=z<1?string.Concat(Enumerable.Repeat(s,int.Parse(d))):z<2?s+d:z<4?s.Replace(d,""):z<5?s:z<6?string.Concat(s.Reverse()):string.Concat(s.OrderBy(_=>Guid.NewGuid()));Write(z==4?s:"");return s;


Try it online!






share|improve this answer











$endgroup$












  • $begingroup$
    What's that in the TIO input section? Your code seems to operate the same without it... [Utterly new to C#]
    $endgroup$
    – Artemis Fowl
    1 hour ago










  • $begingroup$
    @ArtemisFowl Those were some notes I were writing, forgot to delete. Deleted now
    $endgroup$
    – Embodiment of Ignorance
    1 hour ago











  • $begingroup$
    As specified by the question (12 mins before your answer was posted), input other than the program should be taken from stdin.
    $endgroup$
    – Artemis Fowl
    1 hour ago










  • $begingroup$
    @ArtemisFowl Fixed, and saved some bytes
    $endgroup$
    – Embodiment of Ignorance
    1 hour ago


















1












$begingroup$


Python 2, 215 219 bytes





from random import*
I=raw_input;o=''
for t in I().split('|'):p=t[1:]=='>'and I()or t[2:];exec dict(zip("!$<+-*","o=o[::-1];o=''.join(sample(o,len(o)));print o;o+=p;o=o.replace(p,'');o*=int(p)".split(';')))[t[0]]
print o


Try it online!



-4 because raw_input is required.






share|improve this answer











$endgroup$












  • $begingroup$
    Input other than the program must be from stdin, as specified in the question.
    $endgroup$
    – Artemis Fowl
    36 mins ago










  • $begingroup$
    For ease of TIO usage, I'm mocking 'input()' with the function 'Input()' - same number of chars and behavior. Is this not equivalent? Is it better if I don't capitalize, as I have now amended?
    $endgroup$
    – Chas Brown
    35 mins ago











  • $begingroup$
    I use Python 3, but as far as I was aware, that usage of input requires raw_input. Correct me if I am wrong..
    $endgroup$
    – Artemis Fowl
    33 mins ago










  • $begingroup$
    To my knowledge, here at PPCG / TIO, input() is fine for stdin in 2.7; I'll see if I can find the relevant Meta posting...
    $endgroup$
    – Chas Brown
    31 mins ago










  • $begingroup$
    According to Py 2.7 docs: input([prompt]) Equivalent to eval(raw_input(prompt)). This function does not catch user errors. If the input is not syntactically valid, a SyntaxError will be raised.
    $endgroup$
    – Artemis Fowl
    26 mins ago











Your Answer





StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
);
);
, "mathjax-editing");

StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "200"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f182764%2fstring-manipulation-interpreter%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









1












$begingroup$


C# (Visual C# Interactive Compiler), 305 bytes





a=>'))g=$"c,2";d=g[1]==62?ReadLine():g.Substring(2);var z=c[0]%14;s=z<1?string.Concat(Enumerable.Repeat(s,int.Parse(d))):z<2?s+d:z<4?s.Replace(d,""):z<5?s:z<6?string.Concat(s.Reverse()):string.Concat(s.OrderBy(_=>Guid.NewGuid()));Write(z==4?s:"");return s;


Try it online!






share|improve this answer











$endgroup$












  • $begingroup$
    What's that in the TIO input section? Your code seems to operate the same without it... [Utterly new to C#]
    $endgroup$
    – Artemis Fowl
    1 hour ago










  • $begingroup$
    @ArtemisFowl Those were some notes I were writing, forgot to delete. Deleted now
    $endgroup$
    – Embodiment of Ignorance
    1 hour ago











  • $begingroup$
    As specified by the question (12 mins before your answer was posted), input other than the program should be taken from stdin.
    $endgroup$
    – Artemis Fowl
    1 hour ago










  • $begingroup$
    @ArtemisFowl Fixed, and saved some bytes
    $endgroup$
    – Embodiment of Ignorance
    1 hour ago















1












$begingroup$


C# (Visual C# Interactive Compiler), 305 bytes





a=>'))g=$"c,2";d=g[1]==62?ReadLine():g.Substring(2);var z=c[0]%14;s=z<1?string.Concat(Enumerable.Repeat(s,int.Parse(d))):z<2?s+d:z<4?s.Replace(d,""):z<5?s:z<6?string.Concat(s.Reverse()):string.Concat(s.OrderBy(_=>Guid.NewGuid()));Write(z==4?s:"");return s;


Try it online!






share|improve this answer











$endgroup$












  • $begingroup$
    What's that in the TIO input section? Your code seems to operate the same without it... [Utterly new to C#]
    $endgroup$
    – Artemis Fowl
    1 hour ago










  • $begingroup$
    @ArtemisFowl Those were some notes I were writing, forgot to delete. Deleted now
    $endgroup$
    – Embodiment of Ignorance
    1 hour ago











  • $begingroup$
    As specified by the question (12 mins before your answer was posted), input other than the program should be taken from stdin.
    $endgroup$
    – Artemis Fowl
    1 hour ago










  • $begingroup$
    @ArtemisFowl Fixed, and saved some bytes
    $endgroup$
    – Embodiment of Ignorance
    1 hour ago













1












1








1





$begingroup$


C# (Visual C# Interactive Compiler), 305 bytes





a=>'))g=$"c,2";d=g[1]==62?ReadLine():g.Substring(2);var z=c[0]%14;s=z<1?string.Concat(Enumerable.Repeat(s,int.Parse(d))):z<2?s+d:z<4?s.Replace(d,""):z<5?s:z<6?string.Concat(s.Reverse()):string.Concat(s.OrderBy(_=>Guid.NewGuid()));Write(z==4?s:"");return s;


Try it online!






share|improve this answer











$endgroup$




C# (Visual C# Interactive Compiler), 305 bytes





a=>'))g=$"c,2";d=g[1]==62?ReadLine():g.Substring(2);var z=c[0]%14;s=z<1?string.Concat(Enumerable.Repeat(s,int.Parse(d))):z<2?s+d:z<4?s.Replace(d,""):z<5?s:z<6?string.Concat(s.Reverse()):string.Concat(s.OrderBy(_=>Guid.NewGuid()));Write(z==4?s:"");return s;


Try it online!







share|improve this answer














share|improve this answer



share|improve this answer








edited 46 mins ago

























answered 1 hour ago









Embodiment of IgnoranceEmbodiment of Ignorance

2,778127




2,778127











  • $begingroup$
    What's that in the TIO input section? Your code seems to operate the same without it... [Utterly new to C#]
    $endgroup$
    – Artemis Fowl
    1 hour ago










  • $begingroup$
    @ArtemisFowl Those were some notes I were writing, forgot to delete. Deleted now
    $endgroup$
    – Embodiment of Ignorance
    1 hour ago











  • $begingroup$
    As specified by the question (12 mins before your answer was posted), input other than the program should be taken from stdin.
    $endgroup$
    – Artemis Fowl
    1 hour ago










  • $begingroup$
    @ArtemisFowl Fixed, and saved some bytes
    $endgroup$
    – Embodiment of Ignorance
    1 hour ago
















  • $begingroup$
    What's that in the TIO input section? Your code seems to operate the same without it... [Utterly new to C#]
    $endgroup$
    – Artemis Fowl
    1 hour ago










  • $begingroup$
    @ArtemisFowl Those were some notes I were writing, forgot to delete. Deleted now
    $endgroup$
    – Embodiment of Ignorance
    1 hour ago











  • $begingroup$
    As specified by the question (12 mins before your answer was posted), input other than the program should be taken from stdin.
    $endgroup$
    – Artemis Fowl
    1 hour ago










  • $begingroup$
    @ArtemisFowl Fixed, and saved some bytes
    $endgroup$
    – Embodiment of Ignorance
    1 hour ago















$begingroup$
What's that in the TIO input section? Your code seems to operate the same without it... [Utterly new to C#]
$endgroup$
– Artemis Fowl
1 hour ago




$begingroup$
What's that in the TIO input section? Your code seems to operate the same without it... [Utterly new to C#]
$endgroup$
– Artemis Fowl
1 hour ago












$begingroup$
@ArtemisFowl Those were some notes I were writing, forgot to delete. Deleted now
$endgroup$
– Embodiment of Ignorance
1 hour ago





$begingroup$
@ArtemisFowl Those were some notes I were writing, forgot to delete. Deleted now
$endgroup$
– Embodiment of Ignorance
1 hour ago













$begingroup$
As specified by the question (12 mins before your answer was posted), input other than the program should be taken from stdin.
$endgroup$
– Artemis Fowl
1 hour ago




$begingroup$
As specified by the question (12 mins before your answer was posted), input other than the program should be taken from stdin.
$endgroup$
– Artemis Fowl
1 hour ago












$begingroup$
@ArtemisFowl Fixed, and saved some bytes
$endgroup$
– Embodiment of Ignorance
1 hour ago




$begingroup$
@ArtemisFowl Fixed, and saved some bytes
$endgroup$
– Embodiment of Ignorance
1 hour ago











1












$begingroup$


Python 2, 215 219 bytes





from random import*
I=raw_input;o=''
for t in I().split('|'):p=t[1:]=='>'and I()or t[2:];exec dict(zip("!$<+-*","o=o[::-1];o=''.join(sample(o,len(o)));print o;o+=p;o=o.replace(p,'');o*=int(p)".split(';')))[t[0]]
print o


Try it online!



-4 because raw_input is required.






share|improve this answer











$endgroup$












  • $begingroup$
    Input other than the program must be from stdin, as specified in the question.
    $endgroup$
    – Artemis Fowl
    36 mins ago










  • $begingroup$
    For ease of TIO usage, I'm mocking 'input()' with the function 'Input()' - same number of chars and behavior. Is this not equivalent? Is it better if I don't capitalize, as I have now amended?
    $endgroup$
    – Chas Brown
    35 mins ago











  • $begingroup$
    I use Python 3, but as far as I was aware, that usage of input requires raw_input. Correct me if I am wrong..
    $endgroup$
    – Artemis Fowl
    33 mins ago










  • $begingroup$
    To my knowledge, here at PPCG / TIO, input() is fine for stdin in 2.7; I'll see if I can find the relevant Meta posting...
    $endgroup$
    – Chas Brown
    31 mins ago










  • $begingroup$
    According to Py 2.7 docs: input([prompt]) Equivalent to eval(raw_input(prompt)). This function does not catch user errors. If the input is not syntactically valid, a SyntaxError will be raised.
    $endgroup$
    – Artemis Fowl
    26 mins ago















1












$begingroup$


Python 2, 215 219 bytes





from random import*
I=raw_input;o=''
for t in I().split('|'):p=t[1:]=='>'and I()or t[2:];exec dict(zip("!$<+-*","o=o[::-1];o=''.join(sample(o,len(o)));print o;o+=p;o=o.replace(p,'');o*=int(p)".split(';')))[t[0]]
print o


Try it online!



-4 because raw_input is required.






share|improve this answer











$endgroup$












  • $begingroup$
    Input other than the program must be from stdin, as specified in the question.
    $endgroup$
    – Artemis Fowl
    36 mins ago










  • $begingroup$
    For ease of TIO usage, I'm mocking 'input()' with the function 'Input()' - same number of chars and behavior. Is this not equivalent? Is it better if I don't capitalize, as I have now amended?
    $endgroup$
    – Chas Brown
    35 mins ago











  • $begingroup$
    I use Python 3, but as far as I was aware, that usage of input requires raw_input. Correct me if I am wrong..
    $endgroup$
    – Artemis Fowl
    33 mins ago










  • $begingroup$
    To my knowledge, here at PPCG / TIO, input() is fine for stdin in 2.7; I'll see if I can find the relevant Meta posting...
    $endgroup$
    – Chas Brown
    31 mins ago










  • $begingroup$
    According to Py 2.7 docs: input([prompt]) Equivalent to eval(raw_input(prompt)). This function does not catch user errors. If the input is not syntactically valid, a SyntaxError will be raised.
    $endgroup$
    – Artemis Fowl
    26 mins ago













1












1








1





$begingroup$


Python 2, 215 219 bytes





from random import*
I=raw_input;o=''
for t in I().split('|'):p=t[1:]=='>'and I()or t[2:];exec dict(zip("!$<+-*","o=o[::-1];o=''.join(sample(o,len(o)));print o;o+=p;o=o.replace(p,'');o*=int(p)".split(';')))[t[0]]
print o


Try it online!



-4 because raw_input is required.






share|improve this answer











$endgroup$




Python 2, 215 219 bytes





from random import*
I=raw_input;o=''
for t in I().split('|'):p=t[1:]=='>'and I()or t[2:];exec dict(zip("!$<+-*","o=o[::-1];o=''.join(sample(o,len(o)));print o;o+=p;o=o.replace(p,'');o*=int(p)".split(';')))[t[0]]
print o


Try it online!



-4 because raw_input is required.







share|improve this answer














share|improve this answer



share|improve this answer








edited 11 mins ago

























answered 41 mins ago









Chas BrownChas Brown

5,1591523




5,1591523











  • $begingroup$
    Input other than the program must be from stdin, as specified in the question.
    $endgroup$
    – Artemis Fowl
    36 mins ago










  • $begingroup$
    For ease of TIO usage, I'm mocking 'input()' with the function 'Input()' - same number of chars and behavior. Is this not equivalent? Is it better if I don't capitalize, as I have now amended?
    $endgroup$
    – Chas Brown
    35 mins ago











  • $begingroup$
    I use Python 3, but as far as I was aware, that usage of input requires raw_input. Correct me if I am wrong..
    $endgroup$
    – Artemis Fowl
    33 mins ago










  • $begingroup$
    To my knowledge, here at PPCG / TIO, input() is fine for stdin in 2.7; I'll see if I can find the relevant Meta posting...
    $endgroup$
    – Chas Brown
    31 mins ago










  • $begingroup$
    According to Py 2.7 docs: input([prompt]) Equivalent to eval(raw_input(prompt)). This function does not catch user errors. If the input is not syntactically valid, a SyntaxError will be raised.
    $endgroup$
    – Artemis Fowl
    26 mins ago
















  • $begingroup$
    Input other than the program must be from stdin, as specified in the question.
    $endgroup$
    – Artemis Fowl
    36 mins ago










  • $begingroup$
    For ease of TIO usage, I'm mocking 'input()' with the function 'Input()' - same number of chars and behavior. Is this not equivalent? Is it better if I don't capitalize, as I have now amended?
    $endgroup$
    – Chas Brown
    35 mins ago











  • $begingroup$
    I use Python 3, but as far as I was aware, that usage of input requires raw_input. Correct me if I am wrong..
    $endgroup$
    – Artemis Fowl
    33 mins ago










  • $begingroup$
    To my knowledge, here at PPCG / TIO, input() is fine for stdin in 2.7; I'll see if I can find the relevant Meta posting...
    $endgroup$
    – Chas Brown
    31 mins ago










  • $begingroup$
    According to Py 2.7 docs: input([prompt]) Equivalent to eval(raw_input(prompt)). This function does not catch user errors. If the input is not syntactically valid, a SyntaxError will be raised.
    $endgroup$
    – Artemis Fowl
    26 mins ago















$begingroup$
Input other than the program must be from stdin, as specified in the question.
$endgroup$
– Artemis Fowl
36 mins ago




$begingroup$
Input other than the program must be from stdin, as specified in the question.
$endgroup$
– Artemis Fowl
36 mins ago












$begingroup$
For ease of TIO usage, I'm mocking 'input()' with the function 'Input()' - same number of chars and behavior. Is this not equivalent? Is it better if I don't capitalize, as I have now amended?
$endgroup$
– Chas Brown
35 mins ago





$begingroup$
For ease of TIO usage, I'm mocking 'input()' with the function 'Input()' - same number of chars and behavior. Is this not equivalent? Is it better if I don't capitalize, as I have now amended?
$endgroup$
– Chas Brown
35 mins ago













$begingroup$
I use Python 3, but as far as I was aware, that usage of input requires raw_input. Correct me if I am wrong..
$endgroup$
– Artemis Fowl
33 mins ago




$begingroup$
I use Python 3, but as far as I was aware, that usage of input requires raw_input. Correct me if I am wrong..
$endgroup$
– Artemis Fowl
33 mins ago












$begingroup$
To my knowledge, here at PPCG / TIO, input() is fine for stdin in 2.7; I'll see if I can find the relevant Meta posting...
$endgroup$
– Chas Brown
31 mins ago




$begingroup$
To my knowledge, here at PPCG / TIO, input() is fine for stdin in 2.7; I'll see if I can find the relevant Meta posting...
$endgroup$
– Chas Brown
31 mins ago












$begingroup$
According to Py 2.7 docs: input([prompt]) Equivalent to eval(raw_input(prompt)). This function does not catch user errors. If the input is not syntactically valid, a SyntaxError will be raised.
$endgroup$
– Artemis Fowl
26 mins ago




$begingroup$
According to Py 2.7 docs: input([prompt]) Equivalent to eval(raw_input(prompt)). This function does not catch user errors. If the input is not syntactically valid, a SyntaxError will be raised.
$endgroup$
– Artemis Fowl
26 mins ago

















draft saved

draft discarded
















































If this is an answer to a challenge…



  • …Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.


  • …Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
    Explanations of your answer make it more interesting to read and are very much encouraged.


  • …Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.


More generally…



  • …Please make sure to answer the question and provide sufficient detail.


  • …Avoid asking for help, clarification or responding to other answers (use comments instead).




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f182764%2fstring-manipulation-interpreter%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Are there any comparative studies done between Ashtavakra Gita and Buddhim?How is it wrong to believe that a self exists, or that it doesn't?Can you criticise or improve Ven. Bodhi's description of MahayanaWas the doctrine of 'Anatta', accepted as doctrine by modern Buddhism, actually taught by the Buddha?Relationship between Buddhism, Hinduism and Yoga?Comparison of Nirvana, Tao and Brahman/AtmaIs there a distinction between “ego identity” and “craving/hating”?Are there many differences between Taoism and Buddhism?Loss of “faith” in buddhismSimilarity between creation in Abrahamic religions and beginning of life in Earth mentioned Agganna Sutta?Are there studies about the difference between meditating in the morning versus in the evening?Can one follow Hinduism and Buddhism at the same time?Are there any prohibitions on participating in other religion's practices?Psychology of 'flow'

fallocate: fallocate failed: Text file busy in Ubuntu 17.04? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)defragmenting and increasing performance of old lubuntu system with swap partitionIssue with increasing the root partition from the swapthis /usr/bin/dpkg returned error || ubuntu-16.04, 64bitDefault 17.04 swap file locationHow to Resize Ubuntu 17.04 Zesty Swap file size?Ubuntu freezes from online formsMy Laptop is not starting after upgrade ubuntu 16.04 (Kernel 4.8.0-38 to 04.10.0-36)hcp: ERROR: FALLOCATE FAILED!Not sure my swap is being usedWine 3.0 asking for more virtual free swap

Where else does the Shulchan Aruch quote an authority by name?Parashat Metzora+HagadolPesach/PassoverShulchan Aruch UTF-8Anonymous glosses in the Shulchan AruchWhy is the Shulchan Aruch definitive?Siman 32, Kitzur Shulchan Aruch: UntranslatedLitvaks/Yeshivish and Shulchan AruchBuying a Shulchan AruchEnglish version of SHULCHAN ARUCHIs there any place where Shulchan Aruch rules with the Rosh against the Rif and Rambam?Are there practices where Sepharadim do not hold by Shulchan Aruch?5th part of the shulchan aruch