本文整理汇总了C#中Microsoft.PSharp.LanguageServices.Parsing.PSharpLexer类的典型用法代码示例。如果您正苦于以下问题:C# PSharpLexer类的具体用法?C# PSharpLexer怎么用?C# PSharpLexer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PSharpLexer类属于Microsoft.PSharp.LanguageServices.Parsing命名空间,在下文中一共展示了PSharpLexer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: TestVoidMethodDeclaration
public void TestVoidMethodDeclaration()
{
var test = @"
namespace Foo {
machine M {
start state S { }
void Bar() { }
}
}";
var tokens = new PSharpLexer().Tokenize(test);
var program = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), false).ParseTokens(tokens);
program.Rewrite();
var expected = @"
using System;
using Microsoft.PSharp;
namespace Foo
{
class M : Machine
{
[Microsoft.PSharp.Start]
class S : MachineState
{
}
private void Bar(){ }
}
}";
Assert.AreEqual(expected.Replace(Environment.NewLine, string.Empty),
program.GetSyntaxTree().ToString().Replace("\n", string.Empty));
}
开发者ID:huangpf,项目名称:PSharp,代码行数:34,代码来源:MethodTests.cs
示例2: TestMachineDeferEventDeclarationWithExtraComma
public void TestMachineDeferEventDeclarationWithExtraComma()
{
var test = @"
namespace Foo {
machine M {
group G {
start state S
{
defer e1,e2,;
}
}
}
}";
ParsingOptions options = ParsingOptions.CreateDefault()
.DisableThrowParsingException();
var parser = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), options);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Expected event identifier.",
parser.GetParsingErrorLog());
}
开发者ID:yonglehou,项目名称:PSharp,代码行数:25,代码来源:StateGroupFailTests.cs
示例3: TestUnexpectedTokenWithoutNamespace
public void TestUnexpectedTokenWithoutNamespace()
{
var test = "private";
var parser = new PSharpParser(new PSharpProject(), SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Unexpected token.",
parser.GetParsingErrorLog());
}
开发者ID:jerickmsft,项目名称:PSharp,代码行数:12,代码来源:NamespaceFailTests.cs
示例4: TestIncorrectUsingDeclaration
public void TestIncorrectUsingDeclaration()
{
var test = "using System.Text";
var parser = new PSharpParser(new PSharpProject(), SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Expected \";\".",
parser.GetParsingErrorLog());
}
开发者ID:jerickmsft,项目名称:PSharp,代码行数:12,代码来源:UsingFailTests.cs
示例5: TestNamespaceDeclarationWithoutIdentifier
public void TestNamespaceDeclarationWithoutIdentifier()
{
var test = "namespace { }";
var parser = new PSharpParser(new PSharpProject(), SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Expected namespace identifier.",
parser.GetParsingErrorLog());
}
开发者ID:jerickmsft,项目名称:PSharp,代码行数:12,代码来源:NamespaceFailTests.cs
示例6: TestEventDeclarationWithoutNamespace
public void TestEventDeclarationWithoutNamespace()
{
var test = "event e;";
var parser = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Must be declared inside a namespace.",
parser.GetParsingErrorLog());
}
开发者ID:huangpf,项目名称:PSharp,代码行数:13,代码来源:EventFailTests.cs
示例7: TestUsingDeclarationWithoutIdentifier
public void TestUsingDeclarationWithoutIdentifier()
{
var test = "using;";
ParsingOptions options = ParsingOptions.CreateDefault()
.DisableThrowParsingException();
var parser = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), options);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Expected identifier.",
parser.GetParsingErrorLog());
}
开发者ID:yonglehou,项目名称:PSharp,代码行数:15,代码来源:UsingFailTests.cs
示例8: TestUnexpectedTokenWithoutNamespace
public void TestUnexpectedTokenWithoutNamespace()
{
var test = "private";
ParsingOptions options = ParsingOptions.CreateDefault()
.DisableThrowParsingException();
var parser = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), options);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Unexpected token.",
parser.GetParsingErrorLog());
}
开发者ID:yonglehou,项目名称:PSharp,代码行数:15,代码来源:NamespaceFailTests.cs
示例9: TestEventDeclarationWithoutNamespace
public void TestEventDeclarationWithoutNamespace()
{
var test = "event e;";
ParsingOptions options = ParsingOptions.CreateDefault()
.DisableThrowParsingException();
var parser = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), options);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Must be declared inside a namespace.",
parser.GetParsingErrorLog());
}
开发者ID:yonglehou,项目名称:PSharp,代码行数:15,代码来源:EventFailTests.cs
示例10: TestPrivateEventDeclaration
public void TestPrivateEventDeclaration()
{
var test = @"
namespace Foo {
private event e;
}";
var parser = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual(parser.GetParsingErrorLog(),
"Event and machine declarations must be internal or public.");
}
开发者ID:huangpf,项目名称:PSharp,代码行数:16,代码来源:EventFailTests.cs
示例11: TestUsingDeclaration
public void TestUsingDeclaration()
{
var test = "using System.Text;";
var tokens = new PSharpLexer().Tokenize(test);
var program = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), false).ParseTokens(tokens);
program.Rewrite();
var expected = @"
using System;
using Microsoft.PSharp;
using System.Text;";
Assert.AreEqual(expected.Replace(Environment.NewLine, string.Empty),
program.GetSyntaxTree().ToString().Replace("\n", string.Empty));
}
开发者ID:huangpf,项目名称:PSharp,代码行数:17,代码来源:UsingTests.cs
示例12: TestMachineDeclarationWithoutState
public void TestMachineDeclarationWithoutState()
{
var test = @"
namespace Foo {
machine M {
}
}";
var parser = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("A machine must declare at least one state.",
parser.GetParsingErrorLog());
}
开发者ID:huangpf,项目名称:PSharp,代码行数:17,代码来源:MachineFailTests.cs
示例13: TestEventDeclarationWithGenericError2
public void TestEventDeclarationWithGenericError2()
{
var test = @"
namespace Foo {
event e<;
}";
ParsingOptions options = ParsingOptions.CreateDefault()
.DisableThrowParsingException();
var parser = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), options);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Invalid generic expression.",
parser.GetParsingErrorLog());
}
开发者ID:yonglehou,项目名称:PSharp,代码行数:18,代码来源:EventFailTests.cs
示例14: TestIntFieldDeclarationWithoutSemicolon
public void TestIntFieldDeclarationWithoutSemicolon()
{
var test = @"
namespace Foo {
machine M {
int k
start state S { }
}
}";
var parser = new PSharpParser(new PSharpProject(), SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Expected \"(\" or \";\".",
parser.GetParsingErrorLog());
}
开发者ID:jerickmsft,项目名称:PSharp,代码行数:18,代码来源:FieldFailTests.cs
示例15: TestInternalFieldDeclaration
public void TestInternalFieldDeclaration()
{
var test = @"
namespace Foo {
machine M {
internal int k;
start state S { }
}
}";
var parser = new PSharpParser(new PSharpProject(), SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("A field or method cannot be internal.",
parser.GetParsingErrorLog());
}
开发者ID:jerickmsft,项目名称:PSharp,代码行数:18,代码来源:FieldFailTests.cs
示例16: TestEventDeclaration
public void TestEventDeclaration()
{
var test = @"
namespace Foo {
event e1;
internal event e2;
public event e3;
}";
var tokens = new PSharpLexer().Tokenize(test);
var program = new PSharpParser(new PSharpProject(), SyntaxFactory.ParseSyntaxTree(test), false).
ParseTokens(tokens);
program.Rewrite();
var expected = @"
using System;
using Microsoft.PSharp;
namespace Foo
{
class e1 : Event
{
internal e1()
: base()
{ }
}
internal class e2 : Event
{
internal e2()
: base()
{ }
}
public class e3 : Event
{
internal e3()
: base()
{ }
}
}";
Assert.AreEqual(expected.Replace(Environment.NewLine, string.Empty),
program.GetSyntaxTree().ToString().Replace("\n", string.Empty));
}
开发者ID:jerickmsft,项目名称:PSharp,代码行数:42,代码来源:EventTests.cs
示例17: TestEntryDeclarationWithUnexpectedIdentifier
public void TestEntryDeclarationWithUnexpectedIdentifier()
{
var test = @"
namespace Foo {
machine M {
start state S
{
entry Bar {}
}
}
}";
var parser = new PSharpParser(new PSharpProject(), SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Expected \"{\".",
parser.GetParsingErrorLog());
}
开发者ID:jerickmsft,项目名称:PSharp,代码行数:20,代码来源:StateFailTests.cs
示例18: TestMachineColdGroup
public void TestMachineColdGroup()
{
var test = @"
namespace Foo {
machine M {
cold group G { }
}
}";
ParsingOptions options = ParsingOptions.CreateDefault()
.DisableThrowParsingException();
var parser = new PSharpParser(new PSharpProject(),
SyntaxFactory.ParseSyntaxTree(test), options);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("A state group cannot be cold.",
parser.GetParsingErrorLog());
}
开发者ID:yonglehou,项目名称:PSharp,代码行数:20,代码来源:StateGroupFailTests.cs
示例19: TestDeferEventDeclarationWithoutComma
public void TestDeferEventDeclarationWithoutComma()
{
var test = @"
namespace Foo {
machine M {
start state S
{
defer e1 e2;
}
}
}";
var parser = new PSharpParser(new PSharpProject(), SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("Expected \",\".",
parser.GetParsingErrorLog());
}
开发者ID:jerickmsft,项目名称:PSharp,代码行数:20,代码来源:StateFailTests.cs
示例20: TestMachineDeclarationWithMoreThanOneStartState
public void TestMachineDeclarationWithMoreThanOneStartState()
{
var test = @"
namespace Foo {
machine M {
start state S1 {}
start state S2 { }
start state S3 { }
}
}";
var parser = new PSharpParser(new PSharpProject(), SyntaxFactory.ParseSyntaxTree(test), false);
var tokens = new PSharpLexer().Tokenize(test);
var program = parser.ParseTokens(tokens);
Assert.AreEqual("A machine can declare only a single start state.",
parser.GetParsingErrorLog());
}
开发者ID:jerickmsft,项目名称:PSharp,代码行数:20,代码来源:MachineFailTests.cs
注:本文中的Microsoft.PSharp.LanguageServices.Parsing.PSharpLexer类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论