我想为一种简单的语言定义语法.
该语言允许某种分配.
例
keyworda: this is the 1 keyword-A
keywordb: this is the second keywordb
...
Run Code Online (Sandbox Code Playgroud)
问题是,在关键字和':'任何char之后应该是可能的(关键字也是)
我尝试过很多东西,但我认为我仍然没有进入词法分析器和解析器思考...
我最后的想法失败了:
rule
: 'keyworda' ':' anychar* 'keywordb' ':' anychar* EOF
;
anychar
: .
;
NEWLINE
: ('\r'? '\n') {$channel=HIDDEN;}
;
Run Code Online (Sandbox Code Playgroud)
首先:谢谢你的回答!
我通读了手册并查看了scott stanchfield的教程.
问题是,我没有得到"anychar"的东西!
你是对的,我上面提到的语法错了,因为我很着急.
这是一个更好的尝试.问题仍然是,Tokenizer在定义ala中识别例如keyworda
keyworda : this is keyworda.
keywordb : this is another key!
...
Run Code Online (Sandbox Code Playgroud)
语法:
rule
: KEYA ':' STRING_LITERAL* NEWLINE
keybdefinition*
EOF
;
keybdefinition
: KEYB ':' STRING_LITERAL* NEWLINE
;
KEYA: 'keyworda';
KEYB:'keywordb'; …Run Code Online (Sandbox Code Playgroud) 我目前面临的问题是检查对象(NSManagedObject)的属性是否存在.
不幸的是方法
[[MyObject class] respondsToSelector:@selector(myProperty)];
Run Code Online (Sandbox Code Playgroud)
总是返回NO.
我认为这是因为CoreData生成的属性是一个新的样式属性ala
@property (nonatomic, strong) NSString *myProperty
Run Code Online (Sandbox Code Playgroud)
那么任何想法如何解决这个问题?
我非常感谢你的所有建议;)
提前致谢!亚历克斯
我使用的是libical,它是一个解析icalendar格式的库(RFC 2445).
问题是,在位置字段中可能存在一些德语变音符号.
现在libical为每个值返回一个const char*,如:
"K\303\203\302\274nstlerhaus in M\303\203\302\274nchen"
Run Code Online (Sandbox Code Playgroud)
我尝试将其转换为NSString:
[NSString stringWithCString:icalvalue_as_ical_string_r(value) encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
但我得到的是:
Künstlerhaus in München
Run Code Online (Sandbox Code Playgroud)
有什么建议?我将不胜感激任何帮助!
我在我的应用程序中使用UINavigationController及其栏.现在我想更改leftBarButtonItem和rightBarButtonItem位置.我希望它们位于不同的x和y位置,具有自定义的高度和高度.
但问题是,更改框架不会改变barButtonItem的任何内容.我现在不知道为什么,但框架总是被重置为其原始坐标.
这是我在viewWillAppear中调用的代码:
UINavigationItem *navItem = [[self.navigationBar items] lastObject];
UIView *rightview = [[UIView alloc] initWithFrame:CGRectMake(0,0,66,30)];
rightview.backgroundColor = [UIColor blueColor];
//add custom view
UIBarButtonItem *search = [[UIBarButtonItem alloc] initWithCustomView:rightview];
navItem.leftBarButtonItem = search;
Run Code Online (Sandbox Code Playgroud)

视图不是从0/0开始,例如x位置是5px而不是0.
有关如何解决此问题的任何建议?
我正在开发一个从后端接收数据的应用程序.问题是,日期在我的应用程序中无法正常工作.所以我最后比较了cocoa生成的时间戳和我的java后端生成的时间戳.
是否有任何理由认为java比目标c更长?
刚比较:
java的
1318226845471
可可
1318226841
我正在生成可可时间戳:
[[NSDate date] timeIntervalSince1970]
Run Code Online (Sandbox Code Playgroud)
有什么建议?我将不胜感激任何帮助!
先谢谢你,Alex
我们正在使用tomcat和jersey开发应用程序.
在此Web应用程序中,我们需要连接到https Websitea valid,而不是已过期certificate.如果我通过我的Chrome浏览器在本地连接到本网站,一切正常!不幸的是,带有我们webapp的tomcat服务器引发了异常.我们使用Apache HttpClient (4.0)连接到https网站:
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:371)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:126)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
Run Code Online (Sandbox Code Playgroud)
服务器证书绝对有效且来自thawte.三种不同的在线工具成功验证了证书.
Openssl也有一个问题,并向我展示三个证书,但抛出一个简单的错误:
Verify return code: 20 (unable to get local issuer certificate)
Run Code Online (Sandbox Code Playgroud)
openssl的问题似乎是它使用了错误的路径/usr/lib/ssl而不是/etc/ssl/certs.如果我使用指向正确路径的CApath参数,openssl工作正常,那么这可能是httpClient的问题吗?
所以我们的默认客户端代码非常简单:
client = new DefaultHttpClient();
response = client.execute(url); //this throws the exception
EntityUtils.consume(response.getEntity());
Run Code Online (Sandbox Code Playgroud)
通过实现自定义TrustedManager,不允许任何证书!我读到,有些CA不是JDK/JRE的一部分,因此它的证书应该手动导入keystore或使用自定义的证书,但是thawte是一个众所周知的CA,它不应该在默认情况下工作吗?
编辑
我确实在catalina.sh中设置了javax.debug属性,以便我有关于该问题的更多信息:
http-bio-8080-exec-1, handling exception: javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: …Run Code Online (Sandbox Code Playgroud) 我是javascript开发的新手.我需要的是验证手机号码,以便在一段时间后启用短信.
我发现的是googles libphonenumber:https://code.google.com/p/libphonenumber/
我认为在源干线中有一个已编译的javascript文件(closure-compiler),我可以简单地执行以下操作:
function buildAndValidatePhone(phoneNumber, countryCode) {
var strIntlNumber = "invalid";
try {
var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance();
var regionCode = phoneUtil.getRegionCodeForCountryCode(countryCode);
var number = phoneUtil.parseAndKeepRawInput(phoneNumber, regionCode);
if (phoneUtil.isValidNumber(number)) {
var PNT = i18n.phonenumbers.PhoneNumberType;
var numberType = phoneUtil.getNumberType(number);
if (numberType == PNT.MOBILE) {
var PNF = i18n.phonenumbers.PhoneNumberFormat;
strIntlNumber = phoneUtil.format(number, PNF.E164);
strIntlNumber = strIntlNumber.replace('+','');
}
}
}
catch(ex) {
console.log(ex);
}
return strIntlNumber;
};
Run Code Online (Sandbox Code Playgroud)
但我得到了ReferenceError- 要么i18n没有定义,要么PhoneNumberUtil没有定义.如何使用已编译的库?我错过了什么或者我需要用库编译我的代码吗?
我要感谢任何帮助,提前谢谢!
ios ×3
objective-c ×3
antlr ×1
antlrv3ide ×1
apache ×1
cocoa-touch ×1
diacritics ×1
httpclient ×1
javascript ×1
keyword ×1
libical ×1
nsdate ×1
ssl ×1
timestamp ×1
tomcat ×1
validation ×1