Skip to content

Commit

Permalink
package name を github のルールにあわせた
Browse files Browse the repository at this point in the history
  • Loading branch information
okomeki committed Nov 5, 2021
1 parent e9a6d90 commit 3ebf0c1
Show file tree
Hide file tree
Showing 11 changed files with 80 additions and 61 deletions.
22 changes: 18 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.siisise</groupId>
<artifactId>SoftLibABNF</artifactId>
<version>1.1.0</version>
<artifactId>softlib-abnf</artifactId>
<version>1.1.1</version>
<packaging>jar</packaging>
<build>
<plugins>
Expand All @@ -25,8 +25,8 @@
<dependencies>
<dependency>
<groupId>net.siisise</groupId>
<artifactId>SoftLib</artifactId>
<version>1.1.0</version>
<artifactId>softlib</artifactId>
<version>1.1.1</version>
<type>jar</type>
</dependency>
<dependency>
Expand All @@ -48,6 +48,20 @@
<scope>test</scope>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>github</id>
<name>GitHub okomeki Apache Maven SoftLib Packages</name>
<layout>default</layout>
<url>https://maven.pkg.github.com/okomeki/softlibabnf</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</distributionManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
Expand Down
30 changes: 15 additions & 15 deletions src/main/java/net/siisise/abnf/ABNFmap.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,24 @@
public class ABNFmap extends IsABNF {

private final List<Integer> map = new ArrayList<>();

public ABNFmap() {
name = "略";
}

public ABNFmap(String val) {
FrontPacket pac = pac(val);
while ( pac.size() > 0 ) {
while (pac.size() > 0) {
int ch = CodePoint.utf8(pac);
if ( !map.contains(ch)) {
if (!map.contains(ch)) {
map.add(ch);
}
}
}

@Override
public Packet is(FrontPacket pac) {
if ( pac.length() == 0 ) {
if (pac.length() == 0) {
return null;
}
int ch = CodePoint.utf8(pac);
Expand All @@ -52,34 +52,34 @@ public ABNF copy(ABNFReg reg) {
nm.map.addAll(map);
return nm;
}

@Override
public ABNF or(ABNF... abnf) {
List<Integer> tmap = new ArrayList<>();
List<ABNF> xabnf = new ArrayList();
List<ABNF> xabnf = new ArrayList<>();
boolean n = true;
for ( ABNF a : abnf ) {
if ( n && a instanceof ABNFbin ) {
int ach = ((ABNFbin)a).ch();
if ( ach >= 0 && !map.contains(ach)) {
for (ABNF a : abnf) {
if (n && a instanceof ABNFbin) {
int ach = ((ABNFbin) a).ch();
if (ach >= 0 && !map.contains(ach)) {
tmap.add(((ABNFbin) a).ch());
}
} else {
n = false;
xabnf.add(a);
}
}
if ( n ) {
if (n) {
ABNFmap nm = new ABNFmap();
nm.map.addAll(map);
nm.map.addAll(tmap);
if (xabnf.isEmpty() ) {
if (xabnf.isEmpty()) {
return nm;
}
xabnf.add(0,nm);
xabnf.add(0, nm);
return new ABNFor(xabnf.toArray(new ABNF[0]));
}
return super.or(abnf);
}

}
9 changes: 5 additions & 4 deletions src/main/java/net/siisise/abnf/ABNFmn.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,28 @@
* ABNFにはないがマイナス演算
*/
public class ABNFmn extends IsABNF {

private final ABNF a;
private final ABNF b;

ABNFmn(ABNF a, ABNF b) {
this.a = a;
this.b = b;
}

@Override
public ABNFmn copy(ABNFReg reg) {
return new ABNFmn(a.copy(reg),b.copy(reg));
return new ABNFmn(a.copy(reg), b.copy(reg));
}

@Override
public Packet is(FrontPacket pac) {
Packet p1 = a.is(pac);
if ( p1 == null ) {
if (p1 == null) {
return null;
}
Packet p2 = b.is(p1);
if ( p2 != null ) {
if (p2 != null) {
pac.dbackWrite(p1.toByteArray());
pac.dbackWrite(p2.toByteArray());
return null;
Expand Down
1 change: 1 addition & 0 deletions src/main/java/net/siisise/abnf/ABNFor.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public ABNFor(String n, ABNF... abnfs) {
/**
* text として
* ABNFmap 推奨
*
* @param chlist
*/
public ABNFor(String chlist) {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/net/siisise/abnf/ABNFplu.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
*
*/
public class ABNFplu extends ABNFplm {

public ABNFplu(ABNF[] list) {
super(list);
}
Expand Down Expand Up @@ -40,7 +40,7 @@ protected <X> C<X> longfind(FrontPacket pac, ABNF[] list, BNFParser<? extends X>
return new C();
}
int flen = pac.size();

do {
// 1つめ 指定サイズまでに制限する
Packet frontPac = new PacketA();
Expand Down Expand Up @@ -68,7 +68,7 @@ protected <X> C<X> longfind(FrontPacket pac, ABNF[] list, BNFParser<? extends X>
pac.dbackWrite(sdata);
// ToDo: utf-8で1文字戻る版にしてみた
flen--;
while ( flen >= 0 && (sdata[flen] & 0xc0) == 0x80 ) {
while (flen >= 0 && (sdata[flen] & 0xc0) == 0x80) {
flen--;
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/net/siisise/abnf/ABNFtext.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ public class ABNFtext extends IsABNF {
private final byte[] utf8;

/**
*
* @param ch
*
* @param ch
*/
ABNFtext(int ch) {
char[] chars = Character.toChars(ch);
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/siisise/abnf/ABNFx.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

/**
* ループの結果は最長だけでなく、各長さで判定したいこともあり
* @author okome
*
*/
public class ABNFx extends FindABNF {

Expand Down
10 changes: 6 additions & 4 deletions src/main/java/net/siisise/abnf/FindABNF.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,29 @@ public Packet is(FrontPacket src) {
}
return ret.ret;
}

/**
* 詰め方の工夫をするターン
*
* @param <X>
* @param pac
* @param parsers
* @return
* @return
*/
@Override
public <X> C<X> find(FrontPacket pac, BNFParser<? extends X>... parsers) {
BNFParser<? extends X> mp = matchParser(parsers);
C<X> ret = buildFind(pac, mp == null ? parsers : new BNFParser[0]);
return ret != null ? subBuild(ret, mp) : null;
}

/**
* find本体
*
* @param <X>
* @param pac
* @param parsers
* @return
* @return
*/
abstract <X> C<X> buildFind(FrontPacket pac, BNFParser<? extends X>... parsers);
}
13 changes: 8 additions & 5 deletions src/main/java/net/siisise/bnf/AbstractBNF.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public BNF name(String name) {

protected <X> BNFParser<? extends X> matchParser(BNFParser<? extends X>[] parsers) {
for (BNFParser ps : parsers) {
if(name.equals(ps.getBNF().getName())) {
if (name.equals(ps.getBNF().getName())) {
return ps;
}
}
Expand All @@ -46,9 +46,11 @@ protected <X> BNFParser<? extends X> matchParser(BNFParser<? extends X>[] parser
public boolean is(String val) {
return is(pac(val)) != null;
}

class BNFPacketParser implements BNFParser {

BNF rule;

BNFPacketParser(BNF rule) {
this.rule = rule;
}
Expand All @@ -68,7 +70,7 @@ public Object parse(String src) {
return pac(src);
}
}

public boolean eq(FrontPacket val) {
Packet r = is(val);
if (val.length() == 0) {
Expand All @@ -79,11 +81,11 @@ public boolean eq(FrontPacket val) {
}
return false;
}

public boolean eq(String val) {
return eq(pac(val));
}

public static FrontPacket pac(String str) {
//Packet p = new PacketA();
//p.write(str.getBytes(UTF8));
Expand All @@ -110,6 +112,7 @@ public static String strd(FrontPacket pac) {

/**
* 名前が該当すればそれ以下を削除して詰め直す
*
* @param <X>
* @param cret
* @param parser 一致するものだけ必要
Expand Down
27 changes: 13 additions & 14 deletions src/main/java/net/siisise/bnf/BNFReg.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
package net.siisise.bnf;

import java.util.HashMap;
import java.util.Map;

/**
*
* @author okome
*/
public class BNFReg {
Map<String,BNF> REG = new HashMap<>();


}
package net.siisise.bnf;

import java.util.HashMap;
import java.util.Map;

/**
*
*/
public class BNFReg {
Map<String,BNF> REG = new HashMap<>();


}
17 changes: 8 additions & 9 deletions src/main/java/net/siisise/bnf/BNFtext.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package net.siisise.bnf;

/**
*
* @author okome
*/
public class BNFtext {

}
package net.siisise.bnf;

/**
*
*/
public class BNFtext {

}

0 comments on commit 3ebf0c1

Please sign in to comment.