Enabled multiple expressions on one line
All checks were successful
continuous-integration/appveyor/branch AppVeyor build succeeded
All checks were successful
continuous-integration/appveyor/branch AppVeyor build succeeded
This commit is contained in:
parent
51920ef69e
commit
a37aa07ede
@ -139,9 +139,10 @@ namespace Assignment_1
|
|||||||
long lastLinePos = 0;
|
long lastLinePos = 0;
|
||||||
long initPos = 0;
|
long initPos = 0;
|
||||||
bool cont = false;
|
bool cont = false;
|
||||||
|
bool isLineFinished = true;
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
if (dynamicInput)
|
if (dynamicInput && isLineFinished)
|
||||||
{
|
{
|
||||||
lastLinePos = source.Position;
|
lastLinePos = source.Position;
|
||||||
if (!cont)
|
if (!cont)
|
||||||
@ -230,7 +231,10 @@ namespace Assignment_1
|
|||||||
// Increment the source pos past the semi-colon
|
// Increment the source pos past the semi-colon
|
||||||
cont = false;
|
cont = false;
|
||||||
source.Position++;
|
source.Position++;
|
||||||
if (dynamicInput)
|
SkipWhitespace(source);
|
||||||
|
if (source.Position == source.Length) isLineFinished = true;
|
||||||
|
else isLineFinished = false;
|
||||||
|
if (dynamicInput && isLineFinished)
|
||||||
{
|
{
|
||||||
// Nicely format the output stream, so we may print it cleanly
|
// Nicely format the output stream, so we may print it cleanly
|
||||||
source.WriteByte((byte)'\n');
|
source.WriteByte((byte)'\n');
|
||||||
@ -241,7 +245,7 @@ namespace Assignment_1
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (source.Position != lastLinePos)// - 1)
|
else if (source.Position != lastLinePos)
|
||||||
{
|
{
|
||||||
// In the case that we expect some more data, we must keep tabs of our current line, and keep accumulating data until we're finished
|
// In the case that we expect some more data, we must keep tabs of our current line, and keep accumulating data until we're finished
|
||||||
lastLinePos = source.Position;
|
lastLinePos = source.Position;
|
||||||
@ -259,11 +263,12 @@ namespace Assignment_1
|
|||||||
throw new ParserException("Failed parsing statement", 0, source.Position);
|
throw new ParserException("Failed parsing statement", 0, source.Position);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Throwing a parserexception will return us to this point immediately. From here, the line is automatically restored,
|
// Throwing a ParserException will return us to this point immediately. From here, the line is automatically restored,
|
||||||
// and the excepion printed to the console window.
|
// and the excepion printed to the console window.
|
||||||
// This means that each function does not need to keep track of our current position in the stream
|
// This means that each function does not need to keep track of our current position in the stream
|
||||||
catch (ParserException e)
|
catch (ParserException e)
|
||||||
{
|
{
|
||||||
|
isLineFinished = true;
|
||||||
if (e.Importance > 3)
|
if (e.Importance > 3)
|
||||||
{
|
{
|
||||||
throw new ApplicationException("A critical error occurred.");
|
throw new ApplicationException("A critical error occurred.");
|
||||||
@ -274,10 +279,6 @@ namespace Assignment_1
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
Console.WriteLine(e.LinePosition + ": " + e.Message);
|
|
||||||
source.Position = initPos;
|
|
||||||
source.SetLength(initPos);*/
|
|
||||||
WriteDebugLine(0, 0, e.Message, source);
|
WriteDebugLine(0, 0, e.Message, source);
|
||||||
}
|
}
|
||||||
if (!dynamicInput)
|
if (!dynamicInput)
|
||||||
|
49
Assignment 1/example4.txt
Normal file
49
Assignment 1/example4.txt
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
set a1 "
|
||||||
|
To be, or not to be - that is the question:
|
||||||
|
Whether 'tis nobler in the mind to suffer
|
||||||
|
The slings and arrows of outrageous fortune
|
||||||
|
Or to take arms against a sea of troubles,
|
||||||
|
And by opposing end them. To die - to sleep -
|
||||||
|
No more; and by a sleep to say we end
|
||||||
|
The heartache, and the thousand natural shocks
|
||||||
|
That flesh is heir to. 'Tis a consummation
|
||||||
|
Devoutly to be wish'd. To die - to sleep.
|
||||||
|
To sleep - perchance to dream: ay, there's the rub!
|
||||||
|
For in that sleep of death what dreams may come
|
||||||
|
When we have shuffled off this mortal coil,
|
||||||
|
Must give us pause. There's the respect
|
||||||
|
That makes calamity of so long life.
|
||||||
|
For who would bear the whips and scorns of time,
|
||||||
|
The oppressor's wrong, the proud man's contumely,
|
||||||
|
The pangs of despised love, the law's delay,
|
||||||
|
The insolence of office, and the spurns
|
||||||
|
That patient merit of the unworthy takes,
|
||||||
|
When he himself might his quietus make" + NEWLINE +
|
||||||
|
"With a bare bodkin?
|
||||||
|
";
|
||||||
|
|
||||||
|
set averylongvariablethathasbeencontrivedjusttobeanuisancetothe341classwhohaveprobablythoughtthattheycouldgetawaywithallocatingshortvariablenamesofashortlengthbutaregoingtobereallydisappointediftheydidbecausethisisnotashortvariableidentifieratall "
|
||||||
|
Who would these fardels bear,
|
||||||
|
To grunt and sweat under a weary life,
|
||||||
|
But that the dread of something after death -
|
||||||
|
The undiscover'd country, from whose bourn
|
||||||
|
No traveller returns - puzzles the will,
|
||||||
|
And makes us rather bear those ills we have
|
||||||
|
Than fly to others that we know not of?
|
||||||
|
Thus conscience does make cowards of us all,
|
||||||
|
And thus the native hue of resolution
|
||||||
|
Is sicklied o'er with the pale cast of thought,
|
||||||
|
And enterprises of great pith and moment
|
||||||
|
With this regard their currents turn awry
|
||||||
|
And lose the name of action.";
|
||||||
|
|
||||||
|
set soliloquy a1 + NEWLINE + averylongvariablethathasbeencontrivedjusttobeanuisancetothe341classwhohaveprobablythoughtthattheycouldgetawaywithallocatingshortvariablenamesofashortlengthbutaregoingtobereallydisappointediftheydidbecausethisisnotashortvariableidentifieratall;
|
||||||
|
|
||||||
|
set dummy "dummy1";
|
||||||
|
|
||||||
|
print soliloquy;
|
||||||
|
printwordcount soliloquy;
|
||||||
|
printwords soliloquy;
|
||||||
|
printlength soliloquy;
|
||||||
|
list;
|
||||||
|
exit;
|
Loading…
x
Reference in New Issue
Block a user