| === |
| Changes for RFC 1123 sec 2.1 |
| violations.xml: comment out IP_V4_HAS_FOUR_COMPONENTS |
| PattenCompiler: remove entry using IP_V4_HAS_FOUR_COMPONENTS in for ipV4Address[] |
| |
| === JFlex |
| |
| See src-dev to project. |
| Add JFlex.jar: /home/afs/sys/jflex-1.4.3/lib/JFlex.jar |
| |
| Build: |
| See dev.buildlexer.MainGenerateLexers which does step 1-3 |
| |
| 1/ BuildViolationCodes.main(args) (violations.xml => Java code) |
| |
| 2/ PatternCompiler.main (writes host.jflex) |
| |
| 3/ AbsLexer.main (writes other jflex files) |
| |
| then refresh in Eclipse. |
| |
| Edit to remove errors and warnings. |
| change yytext to |
| @Override final String yytext() |
| |
| === What builds what |
| TestCreator: |
| uris.xml -> test.xml |
| |
| AbsLexerBuilder |
| // violation.xml ==> ViolationCodes |
| BuildViolationCodes.main(args) ; |
| |
| // host.jflex |
| PatternCompilerBuilder.main(args) ; |
| |
| // Other jflex files |
| AbsLexerBuilder.main(args) ; |
| ==== |
| |
| |
| /* |
| host => (@{regname}) |
| regname => ((@{label}\\.)*@{label}\\.?) |
| label => (@{labelPrefix}(@{labelInside}@{labelPostfix})?) |
| labelInside => (@{labelSingleDashInside}?) |
| labelPrefix => (@{labelChar}) |
| labelChar => (@{unreservedDNSLabel}) |
| unreservedDNSLabel => (@{letterDigit}|_) |
| letterDigit => ([a-z0-9]) |
| labelSingleDashInside => ((@{labelChar}+-)*@{labelChar}+) |
| labelPostfix => (@{labelChar}) |
| */ |
| |
| -------------- |
| |
| [[ |
| RFC 1123, sec 2.1 |
| |
| The syntax of a legal Internet host name was specified in RFC-952 |
| [DNS:4]. One aspect of host name syntax is hereby changed: the |
| restriction on the first character is relaxed to allow either a |
| letter or a digit. Host software MUST support this more liberal |
| syntax. |
| ]] |
| |
| I can't find an updated official grammar and I only came across by googling |
| to get the authoritive text to show it was illegal. I happened on a nice |
| web page of DNS standards which mentioned it. |
| |
| RFC 3986, sec 3.2.2, talks about the ambiguity. |
| |
| The 1123 text isn't entirely clear - does it mean the first char of the |
| whole DNS host name or every component? |
| |
| So a host of "1752" is now legal (albeit silly and unlikely to work very well). |
| ----------------- |
| IP_V4_OCTET_RANGE |
| IP_V4_HAS_FOUR_COMPONENTS |
| are no longer MUST |