小编Ωme*_*ega的帖子

让lex读取UTF-8不起作用

我写了一个解析ASCII文件的xml解析器,但我现在需要能够读取UTF-8编码的文件.我在lex中有以下正则表达式但它们与UTF-8不匹配.我不确定我做错了什么:

utf_8       [\x00-\xff]*
bom         [\xEF\xBB\xBF]
Run Code Online (Sandbox Code Playgroud)

然后:

bom             { fprintf( stderr, "OMG I SAW A BOM"); return BOM;}
utf_8           { fprintf( stderr, "OMG I SAW A UTF CHAR", yytext[0] ); return UTF_8;}
Run Code Online (Sandbox Code Playgroud)

我还有以下语法规则:

program 
: UTF8 '<' '?'ID attribute_list '?''>' 
root ...
Run Code Online (Sandbox Code Playgroud)

在哪里UTF8:

UTF8

: BOM           {printf("i saw a bom\n");}
| UTF_8         {printf("i saw a utf\n");}
|               {printf("i didn't see anything.'\n");} 
;
Run Code Online (Sandbox Code Playgroud)

它总是出现i didn't see anything,我的解析器适用于ASCII文件,也就是当我将XML UTF-8文件粘贴到空文档中时.

任何帮助,将不胜感激.

编辑:

这是一个修剪过的.l文件供参考:

%{
#include <stdio.h>
#include <stdlib.h> …
Run Code Online (Sandbox Code Playgroud)

c xml parsing lex utf-8

3
推荐指数
1
解决办法
1559
查看次数

使用ExeCOMServer时,无法将类型为"..."的COM对象转换为接口类型"..."

我正在使用这个exe com服务器:

https://cfx.svn.codeplex.com/svn/Visual%20Studio%202008/CSExeCOMServer/ExeCOMServer.cs

  • 我的编程是一个com应用程序
  • 我的com方法采用另一个com对象是 void Init(AppsScriptRunningContext rc);
  • 在这个方法中,我尝试读出一个属性并得到此错误

无法将"AppsScriptLib.AppsScriptRunningContextClass"类型的COM对象强制转换为接口类型"AppsScriptLib.IAppsScriptRunningContext".此操作失败,因为对IID为"{4D2E5723-87C2-49C1-AA28-ED2D88275100}"的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE))

如果我的应用程序不是com服务器而是普通的com应用程序,则没有错误.这就是为什么我认为错误是由exe com服务器产生的.

https://cfx.svn.codeplex.com/svn/Visual%20Studio%202008/CSExeCOMServer/ExeCOMServer.cs

问候,克里斯

c# com casting interface

3
推荐指数
1
解决办法
7738
查看次数

具有多个渐变的SVG透明度

我试图找出4向梯度填充的最佳模型.我的最新型号是这个小提琴:

<svg height="360" width="400" xmlns="http://www.w3.org/2000/svg" version="1.1">
  <defs>
    <clipPath id="C">
      <path d="M 100 200 L 300 58 L 400 250 L 300 341 Z" />
    </clipPath>
    <radialGradient id="G1" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%"   style="stop-color:rgb(255,0,0);    stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(128,128,64); stop-opacity:0" />
    </radialGradient>
    <radialGradient id="G2" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%"   style="stop-color:rgb(0,255,0);    stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(128,128,64); stop-opacity:0" />
    </radialGradient>
    <radialGradient id="G3" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%"   style="stop-color:rgb(0,0,255);    stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(128,128,64); stop-opacity:0" /> …
Run Code Online (Sandbox Code Playgroud)

algorithm graphics html5 svg graph-algorithm

3
推荐指数
1
解决办法
2624
查看次数

如何使用 JavaScript 更改样式参数?

一些样式参数可以轻松更改,例如:

document.getElementById(element).style.height = height + "px"; 
Run Code Online (Sandbox Code Playgroud)

但是我如何更改那些以 开头的参数-,例如-o-transform-origin

document.getElementById(element).style.-o-transform-origin = "top left"; // error!
Run Code Online (Sandbox Code Playgroud)

请建议,如何使用纯老式 JavaScript(没有 jQuery,没有 Dojo,...)。

javascript

3
推荐指数
1
解决办法
3183
查看次数

Perl正则表达式找到一个确切的单词

我想sprintf在我的代码中找到这个词.应该使用什么Perl正则表达式?有一些行有文字sprintf_private,我想排除,但只需要sprintf.

regex perl

3
推荐指数
2
解决办法
8967
查看次数

如何在记事本++中删除两个字符或字符串之间的空格

考虑到我有一个引号"( the"中的字符串,它出现在大量文本中。

我想删除非字母数字(和字母数字t字符之间的空格

regex

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

浏览器默认字体的CSS

如果网页设计师完全控制整个代码,那么很容易使用浏览器默认字体 - 只是不要改变任何字体样式而你得到它.

但是如果没有了它一个完整的控制和例如有定义一些字体相关的风格htmlbody元素,或字体相关的CSS样式* { ... },那么有必要重新定义字体样式不继承修改造型.

有没有办法,CSS纯粹JavaScriptjQuery解决方案,允许显式设置特定元素的浏览器默认字体?

html javascript css jquery html5

3
推荐指数
2
解决办法
2946
查看次数

如何在不使用外部命令的情况下列出和终止Perl中的线程/进程?

我要杀死一些进程和线程(如果存在)Perl的应用程序,但我不希望使用外部命令(一个或多个),比如ps,grep,awk,cut,uniqkill.

我目前的代码是:

      my $appName = $0;
      $appName =~ s/^.*\/([^\/]*)$/$1/;
      $_ = qx(kill -9 `ps -eLao pid,command | grep '$appName\[ 0-9\]*\$' |
              grep -v grep | awk '\$1 != $$' | cut -d' ' -f1 | uniq` 2>&1);
Run Code Online (Sandbox Code Playgroud)

我正在使用VPS,所以我的记忆力有限.上面的代码有时会返回undef,因为系统无法为外部命令的调用分配内存.我正在寻找替代解决方案,而不使用外部命令.

shell perl multithreading kill process

2
推荐指数
1
解决办法
581
查看次数

如何合并和混洗数组数组

拥有数组数组

var a = [[[1, "alpha", "a"],
          [2, "beta",  "b"]],
         [[3, "gama",  "c"]],
         [[4, "delta", "d"]]];

var b = [];
Run Code Online (Sandbox Code Playgroud)

1)如何合并a[0]a[2]b

2)我怎样才能改组阵列b


这是我正在使用的随机算法>>

Array.prototype.shuffle = function() {
  for (var i = 0; i < this.length; i++)
    this.push(this.splice(Math.random() * (this.length - i), 1)[0]);
  return this;
}
Run Code Online (Sandbox Code Playgroud)

语法

myArray.shuffle();
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery

2
推荐指数
1
解决办法
934
查看次数

正则表达式 - 允许使用字母,撇号,句号,逗号和连字符

我正在为这个小而又令人困惑的要求而烦恼.

我需要一个名称字段的正则表达式,它只允许字母,撇号,句号,逗号和连字符.名称字段也不应允许超过150个字符.

任何帮助将非常感激!

html javascript java regex jquery

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

标签 统计

javascript ×4

jquery ×3

regex ×3

html ×2

html5 ×2

perl ×2

algorithm ×1

arrays ×1

c ×1

c# ×1

casting ×1

com ×1

css ×1

graph-algorithm ×1

graphics ×1

interface ×1

java ×1

kill ×1

lex ×1

multithreading ×1

parsing ×1

process ×1

shell ×1

svg ×1

utf-8 ×1

xml ×1