小编mrj*_*min的帖子

LR(1)项目DFA - 计算前瞻

我无法理解如何计算LR(1)-items的前瞻.

让我们说我有这个语法:

S -> AB
A -> aAb | a
B -> d
Run Code Online (Sandbox Code Playgroud)

LR(1)-item是具有前瞻的LR(0)项.所以我们将为状态0得到以下LR(0)-item:

S -> .AB , {lookahead} 
A -> .aAb,  {lookahead} 
A -> .a,  {lookahead}
Run Code Online (Sandbox Code Playgroud)

州:1

A ->  a.Ab, {lookahead} 
A ->  a. ,{lookahead} 
A -> .aAb ,{lookahead} 
A ->.a ,{lookahead}
Run Code Online (Sandbox Code Playgroud)

有人可以解释如何计算前瞻吗?一般方法是什么?

先感谢您

parsing lookahead dfa context-free-grammar lr-grammar

17
推荐指数
1
解决办法
1万
查看次数

正则表达式 - 匹配空格

我写一个正在修改输入中所有空格的正则表达式有一个大问题.

我试过了\s+,[ \t\t\r]+但那不起作用.

我需要这个,因为我正在使用flex编写一个扫描仪,我被困在匹配的空格中.空格应该匹配而不是删除.

输入示例:

program 
3.3 5 7 
{ comment }
string
panic: cant happen
Run Code Online (Sandbox Code Playgroud)

regex compiler-construction lex lexical-analysis flex-lexer

7
推荐指数
1
解决办法
1万
查看次数

字符串数组是否可变?

我想知道Java中的String数组是否可变?我知道字符串是不可变的,但字符串数组怎么样?

如果我有一个字符串数组,并更改内容,是否会创建一个新的字符串对象?或者实际值是否会改变?

提前致谢

java arrays string types mutable

7
推荐指数
2
解决办法
2万
查看次数

广度优先搜索 - Java

我有一个学校,在java中实现广度优先搜索.我已经实现了几乎所有的东西,但问题是我的搜索不起作用,我无法找到问题:(所以我要求你给我建议,并给我一些关于最终问题可能出现的指导.

public ArrayList<SearchNode> search(Problem p) {
        // The frontier is a queue of expanded SearchNodes not processed yet
        frontier = new NodeQueue();
        /// The explored set is a set of nodes that have been processed 
        explored = new HashSet<SearchNode>();
        // The start state is given
        GridPos startState = (GridPos) p.getInitialState();
        // Initialize the frontier with the start state  
        frontier.addNodeToFront(new SearchNode(startState));

        // Path will be empty until we find the goal.
        path = new ArrayList<SearchNode>();

        // The start NODE

        SearchNode node …
Run Code Online (Sandbox Code Playgroud)

java algorithm search breadth-first-search

6
推荐指数
1
解决办法
1万
查看次数

LR(1) - 项目,展望未来

我很难理解LR(1)中的前瞻原则 - 项目.如何计算先行集?

举个例子说我有以下语法:

S -> AB
A -> aAb | b
B -> d
Run Code Online (Sandbox Code Playgroud)

然后第一个状态将如下所示:

S -> .AB , {look ahead}
A -> .aAb, {look ahead}
A -> .b,   {look ahead}
Run Code Online (Sandbox Code Playgroud)

我知道前方是什么,但我不知道如何计算它们.我搜索了答案,但找不到一个简单解释这个问题的网页.

提前致谢

parsing context-free-grammar formal-languages automata-theory

6
推荐指数
1
解决办法
6273
查看次数

如何从功能依赖中获取最小密钥?

我需要一些帮助和指导.

我有以下关系:R = {A, B, C, D, E, F}和功能依赖的集合

F = {
  {AB -> C};
  {A  -> D};
  {D  -> AE};
  {E  -> F};
}

R的主键是什么?

如果我应用推理规则,我会得到这些额外的函数依赖项:

D -> A
D -> E
D -> F

D -> AEF

A -> E
A -> F
A -> DEF
Run Code Online (Sandbox Code Playgroud)

我该如何继续?

sql database normalization relation

5
推荐指数
1
解决办法
4930
查看次数

Builder设计模式 - 没有抽象类/接口

我想知道我是否可以实现Builder设计模式,但没有一个接口/抽象类,从中派生出具体的构建器?我可以只有一个建筑师吗?

如果我只有一个混凝土建造者和一个导演,它仍然是建筑师设计模式?

更具体:

我有一些对象,我想"拼凑"到一个复杂的对象.更精确我有以下几个类:

门墙室

我想用这些classe建立一个"世界",这就是所有这些课程结合起来给了我一个世界.

谢谢

java design-patterns builder

5
推荐指数
1
解决办法
871
查看次数

正则表达式匹配浮点数而不是整数

我有一个问题是定义一个匹配浮点数但不识别整数的正则表达式.

我有以下正则表达式,它匹配浮点数.

(\+|-)?([0-9]+\.?[0-9]*|\.[0-9]+)([eE](\+|-)?[0-9]+)?
Run Code Online (Sandbox Code Playgroud)

如何修改上面的表达式,使其与整数不匹配?

以下是应该匹配的示例:

3.3
.3
5E6
.2e-14
7E+3
4.
5.E2
1e2
Run Code Online (Sandbox Code Playgroud)

regex floating-point integer

5
推荐指数
1
解决办法
1万
查看次数

抽吸引理(常规语言)

我需要一些泵浦引理问题的帮助.

L = { {a,b,c}* | #a(L) < #b(L) < #c(L) }
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所得到的:

y = uvw is the string from the pumping lemma.
Run Code Online (Sandbox Code Playgroud)

我让y = abbc ^ n,n是泵浦引理的长度.y在L中,因为a:s的数量小于b:s的数量,并且b:s的数量小于c:s的数量.

我让u = a,v = bb和w = c ^ n.| UV | <y,如抽水引理中所述.如果我"抽"(bb)^ 2然后我得到

y = abbbbc^n which violates the rule #b(L) < #c(L).
Run Code Online (Sandbox Code Playgroud)

这是正确的吗 ?我是在"正确的道路上"吗?

谢谢

automata pumping-lemma regular-language formal-languages

5
推荐指数
1
解决办法
836
查看次数

Azure B2C 自定义策略和客户端 ID

我正在尝试设置自定义 Azure B2C 策略。当我设置 TrustedFrameworkExtensions.xml 文件时,我在 ClaimsProvider 和一些字段中遇到了困难。

问题如下:我在哪里获取“client_id”和“IdTokenAudience”的值?

提前致谢

 <ClaimsProvider>
      <DisplayName>Local Account SignIn</DisplayName>
      <TechnicalProfiles>
         <TechnicalProfile Id="login-NonInteractive">
          <Metadata>
            <Item Key="client_id">ProxyIdentityExperienceFrameworkAppId</Item>
            <Item Key="IdTokenAudience">IdentityExperienceFrameworkAppId</Item>
          </Metadata>
          <InputClaims>
            <InputClaim ClaimTypeReferenceId="client_id" DefaultValue="ProxyIdentityExperienceFrameworkAppId" />
            <InputClaim ClaimTypeReferenceId="resource_id" PartnerClaimType="resource" DefaultValue="IdentityExperienceFrameworkAppId" />
          </InputClaims>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
Run Code Online (Sandbox Code Playgroud)

policy azure azure-ad-b2c

5
推荐指数
1
解决办法
2111
查看次数