你能解释一下吗,我怎么能检查一下,第一个上下文无关语法(G1)的语言是第二个上下文无关语法(G2)语言的子集。
G1和G2是两个字母相同的LL(1)语法:
{a, b, c, d, f}
生产规则如下:
A -> αB
或
A -> α
α是一个非epsilon字符串(由终端符号组成).
上下文无关语法G1:
S1 -> aK
K -> bC|cE
C -> cB|d
E -> bA|f
A -> abC
B -> acE
上下文无关语法G2:
S2 -> aX
X -> bZ|cY
Z -> cV|d
Y -> bU
这是一个RegExp锻炼来自HackerRank。基本上,我必须编写一个程序(我选择了JavaScript),它接收一个程序作为输入(字符串),并试图识别所使用的编程语言。我们只关注3种语言: C、Java或Python。
function processData(input) {
console.log(identifyLanguage(input));
}
var identifyLanguage = function (code) {
if (isJava(code))
return 'Java';
else if (i
我正在使用F#创建一个lambda微积分。目前,我正试图弄清楚如何实现定点运算符(也称为Y组合器)。
我认为其他一切都井井有条。表达方式由下列受歧视的工会代表:
type Expr =
| Const of int
| Plus of Expr * Expr
| Times of Expr * Expr
| Minus of Expr * Expr
| Div of Expr * Expr
| Neg of Expr
| Var of string
| Fun of string * Expr
| App of Expr * Expr
| If
语法G生成语言L的定义如下:
G=( {x,y},{S,A,B,C},P,S)
如果P的元素是:
S -> ABA
AB -> AC
CB ->英国广播公司
CA -> BBA
A -> a=E
B -> b
由G生成的L语言是否最准确地说是:
A.乔姆斯基0型
B. Chomsky类型1(对上下文敏感)
C. Chomsky类型2(无上下文)
D.乔姆斯基第3型(常规)
E.上述任何一项
我认为这是类型0,因为它对上下文不敏感。但我想知道,这些规则可能会被简化为其他规则,而变得对上下文敏感或上下文无关等等。如何处理这类问题?
语法G的定义如下:
G= (
begin
% computes factorial n iteratively %
integer procedure factorial( integer value n ) ;
if n < 2
then 1
else begin
integer f;
f := 2;
for i := 3 until n do f := f * i;
f
考虑以下问题:
我们有两种货物顺序,既可以装谷物,也可以装牛。现在,我们还有一个货物装载序列,我们希望从最初的序列中获得。。
初始序列看起来可能如下,我们想要实现的序列显示在右边:
C G
G C
C G G
C C C
G G G
\ /
?
现在,在?点,你可以选择左边的货物,或者右边的货物。采摘应符合要求的最终顺序。
例如,我们应该在开始时选择Grain,然后图
我想在pgAdmin中为postgis编写一个基于postgresql的代码。它定义了一个三维几何阵列.
我用了这段代码:
DECLARE
G geometry[9][9][9];
BEGIN
for i IN 1..9 LOOP
for j IN 1..9 LOOP
for k IN 1..9 LOOP
G[i][j][k] := [value that I want];
END LOOP;
END LOOP;
END LOOP;
但它返回了以下错误:
"array subscript out of range&
在尝试理解Y-Combinator一个小时后...我最终得到了它,但后来我意识到,没有它也可以实现同样的事情……虽然我不确定我是否完全理解它的目的。
例如:带有Y-组合器的阶乘
print (lambda h: (lambda f:f(f))(lambda f: h(lambda n: f(f)(n))))(lambda g: lambda n: n and n * g(n-1) or 1)(input())
阶乘通过引用另一个lambda中的函数来实现
print (lambda f,m:f(f,m))((lambda g,n: n and n * g(g,n-1) or 1),input(
我正在使用。
他们的示例显示了.erb中的视图,但是我想在我的项目中使用.slim,但在将示例erb转换为工作slim时遇到了困难。
# ERB renders and works perfectly
<%= grid(@tasks_grid) do |g|
g.column do |task|
task.id
end
g.column do |task|
task.title
end
end -%>
# Converted SLIM does not render properly
- grid(@tasks_grid) do |g|
-
该项目中使用了jekyll多语言插件。我有"ru“和"en”区域设置:"ru“是默认设置,在主页中打开;"en”在中打开。不存在,所以我尝试为"ru“添加一个单独的语言环境,但失败了。我遵循了以下文档:
这是我的_config.yml:
title: example
description: >- # this means to ignore newlines until "baseurl:"
baseurl: "" # the subpath of your site, e.g. /blog
url:
我被要求在g++环境下用cMake编译器编译C源代码。
我尝试了Stack溢出的解决方案之一:
在运行cmake之前设置CC、CXX,如下所示。
出口CC=/usr/bin/g++出口CXX=/usr/bin/g++
但在运行cmake时,我会遇到以下错误
"cmake -DPLATFORM=x64 ../"
-- The C compiler identification is unknown
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/g
我试图生成几何学,并将其插入到表格中。我在被注释掉的行中成功地做到了这一点。然而,当我使用变量时,我似乎无法弄清楚我做错了什么。我肯定我错过了什么。有人能看看吗?
SET @minX = 1;
SET @minY = 2;
SET @maxX = 43;
SET @maxY = 86;
SET @minXminY = concat((@minX),' ',(@minY));
SET @maxXminY = concat((@maxX),' ',(@minY));
SET @maxXmaxY = concat((@maxX),' ',(@maxY)
我试着展示这样的东西:
$1 health is very low right now.
其中$1指的是已处理的用户名/word/字符串。例如:
MagicalMage's health is very low right now.
或者:
Susy_Suss' health is very low right now.
或(不同案件):
IBM's dominance is not as big as it once was.
问题是,它不仅必须处理简单的英语规则,在最后做"s",除了字符串的“s”,如上文所示,而且任何其他语言的特殊怪癖!
例如,在瑞
我正在开发的应用程序可以在英语或法语上运行。有一个用英语运行得很好的交互式报告,但当应用程序用法语运行时,会出现ORA错误,指出其中一列不是有效的标识符。当我去检查调试日志时,结果SQL在法语中运行时与在英语中运行时相比看起来像是一个较旧的版本。
--Original Source
SELECT ...
CASE
WHEN (dependant_pkg.get_dependant_id (ee.memb_id, '0') IS NULL OR ee.re_enrolment_dt >= TRUNC (SYSDATE))
我正在使用2013。我在C源文件(file1.c)中声明了一个全局变量,并在C++源文件(file2.cpp)中定义的方法中使用了该变量。两个文件中包含的标题将变量声明为extern。项目属性C\C++ -> Advanced -> compile as设置为defualt,根据文档,这意味着编译器使用文件扩展名来推断文件类型。此设置将导致unresolved external symbol链接错误。如果我将此选项设置为Compile as C code或Compile as C++ code,则项目编译和链接时不会出现错误。我不明白这种行为。(顺便说一句,在linux/GCC下,