问题标签 [alex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
457 浏览

haskell - Haskell - Alex lexer - 将空格和换行符作为状态处理

我正在用 Alex + Happy 为 Haskell 中的一种语言编写解析器。

我想要做的是:在 Alex 中,跳过空格和换行符,但将它们保持为状态,然后发出包含换行符和标记前缩进的标记。

我想我可以为缩进和换行发出额外的标记,然后稍后折叠它们,但我更喜欢更干净的方法。

有什么方法可以将 alex 中的令牌处理包装在一个带有缩进/换行信息的 monad 中,并且可以在发出令牌的操作中访问?

0 投票
0 回答
161 浏览

javascript - 如何让 Alexa 询问用户是否想要另一个,然后重新运行意图?

我正在使用 STDLIB 和 Node.js 编写一个提供随机打油诗的 Alexa 技能。我想要这样的流程:

用户:向 LimerickKid 索要打油诗。

Alexa 技能触发,提供打油诗。

Alexa:你想要另一个吗?

然后使用 AMAZON.YesIntent 和 AMAZON.NoIntent 处理请求,如果是则重新触发意图。

我的问题完全是菜鸟。在我的 LimerickKid.js 脚本中,我可以很好地执行 javascript 来传递打油诗。但是当我执行这个时:

Alexa 提供打油诗,会话终止。之后我无法执行任何代码。如何触发该功能并触发 Alexa 询问用户是否需要另一个?

0 投票
1 回答
213 浏览

parsing - Happy & Alex - 防止前瞻影响解析器-词法分析器通信

我目前正在使用 Happy & Alex 为玩具语言的编译器编写解析器。由于需要某种形式的可选布局,我必须在匹配block非终端之前更改 Alex 的状态。不幸的是,在我有机会更改 Alex 的状态之前,Happy 所需的前瞻令牌似乎已被读取。

这是一个演示问题的小片段:

有没有解决这个问题的通用方法?

0 投票
2 回答
131 浏览

alexa-skills-kit - Alexa 向槽值添加额外字符

我正在尝试使用 abcd 或 e 选项获得用户响应。我已经用这些可能的值配置了一个插槽并读取了我的 nodejs 中的插槽。当用户使用选项 a 进行响应时,c、d、e 在 intent.slots.Answer.value 中返回正常(尽管选项“a”在插槽值中以小写形式返回,而 C、D 和 E 以大写形式返回)但更大的问题是选项“b”返回一个额外的点(。)附加像这样的“b”。虽然我可以解析它,但我讨厌在知道是什么原因之前修补它。在进行任何操作之前,我已经完成了插槽值的 console.log,它与上述描述相同。有人经历过吗?

0 投票
0 回答
225 浏览

haskell - 在标准的“monad”包装下结合 Alex 和 Happy

我设法结合了 Alex 词法分析器和 Happy 解析器。但是,我对当前解决方案的某些方面不满意:

  1. 设置初始状态,
  2. 将状态传递给 Alex 时的样板代码,
  3. Alex我的ExpParser单子是分开的实体。

我在下面解释这些方面。

我的ExpParsermonad 如下所示:

顶层解析函数定义为:

第一个问题是我必须用一些我不确定的字段来设置初始状态。此外,我希望为 Alex 词法分析器定义一个标准的“初始状态”。

然后我通过以下方式使用词法分析器(使用“monad”包装器生成):

但是我正在写一些样板文件,并且还重复自己,因为上面的代码中嵌入了 state monad 的行为。如果Alex为 monad 定义了一个实例,State我可以避免这种情况,但我认为情况并非如此。

有没有办法在上述方面改进当前的解决方案?

0 投票
0 回答
127 浏览

audio - 亚马逊 Alexa 音频编码 - 很少有音频无法播放

我正在使用 ffmpeg 为 Alexa 音频编码音频,如下所示,

问题是很少有音频可以正常播放,但很少有音频不能正常播放。我对所有需要转换的音频使用相同的项目速率和质量(项目速率 16000 和质量为 48 kbps)。任何人都知道 source.mp3 编码到 Project Rate 16000 和 Quality 到 48 kbps 是否有任何基本质量?

我从 alexa 得到的错误文件的响应是“技能响应有问题”。

0 投票
2 回答
2505 浏览

alexa-skills-kit - 如何以编程方式触发 ALEXA 通知?

我进行了广泛搜索,但找不到任何示例代码可以让我了解如何触发使橙色灯亮起的 Alexa 通知?

我相信它与 SetDirective (函数?)有关......我只是不明白。

这是我喜欢做的事情,我非常感谢一些指导或提示。

  1. 创建一个基于条件触发橙色灯的 Alexa 技能。
  2. 询问 Alexa 时说出内容

任何帮助深表感谢。

0 投票
1 回答
371 浏览

amazon-web-services - Amazon Echo Account Linking - 生成和保存令牌时如何识别回显设备?

我有一个预先存在的带有用户帐户的网络应用程序。我想用亚马逊的 echo 扩展功能。

当用户在他们的 Echo/Alexa 仪表板中启用该技能时,它会将他们重定向到我的应用程序的登录页面,并使用Authorization URL https://foo.com/auth.

我检查了来自的传入请求,请求中Authorization URL https://foo.com/auth没有客户端 ID、用户 ID 或用户电子邮件。如果我无法在我的网络服务器上保存该令牌以及某种回显客户端设备 ID,那么生成一个令牌并将其发送回 Amazon 对我没有任何好处。

帐户链接隐式授予

3 用户使用他们的正常凭据登录您的站点。

4 您的服务对用户进行身份验证,然后生成唯一标识系统中用户的访问令牌。

当亚马逊将用户重定向到我的应用程序以输入登录凭据时,我如何将我给他们的令牌链接到他们的回显设备以供将来请求?

在此处输入图像描述

0 投票
1 回答
434 浏览

parsing - 快乐解析错误

我目前正在使用 alex 和快乐的词法分析器/解析器生成器来实现以太坊智能合约语言可靠性的解析器。目前我正在使用简化的语法来简化初始开发。

我在解析我的测试合同文件的“合同”部分时遇到错误。

以下是语法的代码:

以下文件是我的测试“合同”:

结果是将我的测试合同传递给我的解析器的主要功能。

从错误中它表明问题是第 2 行第 1 列上的“合同”令牌的第一个字母。但据我了解,这应该正确解析吗?

0 投票
1 回答
446 浏览

haskell - 你如何在 Haskell 平台上安装 Alex?

我在 Windows 上安装了 Haskell Platform 8.2.2。当我运行ghci并输入alex H.xafterPrelude>时,我得到

当我键入时alex,我得到

我看了看Haskell Platform\8.2.2\lib,我可以看到一个名为Cabal-2.0.1.0但没有alex.

如何安装 Alex?