xiacc 0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/pippin-0.1.gem +0 -0
- data/pippin-0.1/bin/generate.sh +6 -0
- data/pippin-0.1/bin/obsolete_install.rb +5 -0
- data/pippin-0.1/bin/parse.sh +7 -0
- data/pippin-0.1/docs/classes/Object.html +139 -0
- data/pippin-0.1/docs/classes/Object.src/M000003.html +18 -0
- data/pippin-0.1/docs/classes/Pippin.html +122 -0
- data/pippin-0.1/docs/classes/Pippin/Parser.html +257 -0
- data/pippin-0.1/docs/classes/Pippin/Parser.src/M000009.html +24 -0
- data/pippin-0.1/docs/classes/Pippin/Parser.src/M000010.html +27 -0
- data/pippin-0.1/docs/classes/Pippin/Parser.src/M000011.html +26 -0
- data/pippin-0.1/docs/classes/Pippin/Parser.src/M000012.html +26 -0
- data/pippin-0.1/docs/classes/Pippin/Parser.src/M000013.html +25 -0
- data/pippin-0.1/docs/classes/Pippin/Policy.html +286 -0
- data/pippin-0.1/docs/classes/Pippin/Policy.src/M000024.html +25 -0
- data/pippin-0.1/docs/classes/Pippin/Policy.src/M000025.html +21 -0
- data/pippin-0.1/docs/classes/Pippin/Policy.src/M000026.html +20 -0
- data/pippin-0.1/docs/classes/Pippin/Policy.src/M000027.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.html +358 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.src/M000014.html +22 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.src/M000015.html +18 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.src/M000016.html +18 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.src/M000017.html +18 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.src/M000018.html +29 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.src/M000019.html +31 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.src/M000020.html +28 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.src/M000021.html +21 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.src/M000022.html +21 -0
- data/pippin-0.1/docs/classes/Pippin/StackEntry.src/M000023.html +25 -0
- data/pippin-0.1/docs/classes/Pippin/WriteStackEntry.html +315 -0
- data/pippin-0.1/docs/classes/Pippin/WriteStackEntry.src/M000051.html +28 -0
- data/pippin-0.1/docs/classes/Pippin/WriteStackEntry.src/M000052.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/WriteStackEntry.src/M000053.html +21 -0
- data/pippin-0.1/docs/classes/Pippin/WriteStackEntry.src/M000054.html +23 -0
- data/pippin-0.1/docs/classes/Pippin/WriteStackEntry.src/M000055.html +34 -0
- data/pippin-0.1/docs/classes/Pippin/WriteStackEntry.src/M000056.html +25 -0
- data/pippin-0.1/docs/classes/Pippin/WriteStackEntry.src/M000057.html +23 -0
- data/pippin-0.1/docs/classes/Pippin/WriteStackEntry.src/M000058.html +31 -0
- data/pippin-0.1/docs/classes/Pippin/WriteStackEntry.src/M000059.html +18 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.html +525 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000028.html +22 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000029.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000030.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000031.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000032.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000033.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000034.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000035.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000036.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000037.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000038.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000039.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000040.html +16 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000041.html +18 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000042.html +25 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000043.html +19 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000044.html +40 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000045.html +22 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000046.html +20 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000047.html +19 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000048.html +21 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000049.html +22 -0
- data/pippin-0.1/docs/classes/Pippin/Writer.src/M000050.html +18 -0
- data/pippin-0.1/docs/classes/Roog.html +124 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.html +1237 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000233.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000234.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000235.html +32 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000236.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000237.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000238.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000239.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000240.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000241.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000242.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000243.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000244.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000245.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000246.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000247.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000248.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000249.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000250.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000251.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000252.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000253.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000254.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000255.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000256.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000257.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000258.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000259.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000260.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000261.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000262.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000263.html +32 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000264.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000265.html +32 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000266.html +26 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000267.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000268.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000269.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000270.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000271.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000272.html +36 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000273.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000274.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000275.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000276.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000277.html +23 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000278.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000279.html +32 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000280.html +31 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000281.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000282.html +41 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000283.html +25 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000284.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000285.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000286.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000287.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000288.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000289.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000290.html +29 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000291.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Analyzer.src/M000292.html +32 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.html +654 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000193.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000194.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000195.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000196.html +33 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000197.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000198.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000199.html +29 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000200.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000201.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000202.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000203.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000204.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000205.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000206.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000207.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000208.html +34 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000209.html +34 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000210.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000211.html +30 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000212.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000213.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000214.html +28 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000215.html +30 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000216.html +25 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000217.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000218.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Attribute.src/M000219.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Class.html +1022 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000143.html +28 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000144.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000145.html +26 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000146.html +30 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000147.html +23 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000148.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000149.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000150.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000151.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000152.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000153.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000154.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000155.html +31 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000156.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000157.html +23 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000158.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000159.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000160.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000161.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000162.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000163.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000164.html +31 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000165.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000166.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000167.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000168.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000169.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000170.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000171.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000172.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000173.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000174.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000175.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000176.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000177.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000178.html +23 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000179.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000180.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000181.html +23 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000182.html +23 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000183.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000184.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000185.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000186.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000187.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000188.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000189.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000190.html +25 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000191.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Class.src/M000192.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Entity.html +366 -0
- data/pippin-0.1/docs/classes/Roog/Entity.src/M000104.html +23 -0
- data/pippin-0.1/docs/classes/Roog/Entity.src/M000105.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Entity.src/M000106.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Entity.src/M000107.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Entity.src/M000108.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Entity.src/M000109.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Entity.src/M000110.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Entity.src/M000111.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Entity.src/M000112.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.html +490 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000124.html +33 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000125.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000126.html +30 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000127.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000128.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000129.html +17 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000130.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000131.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000132.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000133.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000134.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000135.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000136.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000137.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000138.html +35 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000139.html +28 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000140.html +56 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000141.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Generator_Ruby.src/M000142.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Interface.html +490 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000084.html +25 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000085.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000086.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000087.html +26 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000088.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000089.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000090.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000091.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000092.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000093.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000094.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000095.html +28 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000096.html +35 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000097.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000098.html +17 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000099.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000100.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000101.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000102.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Interface.src/M000103.html +21 -0
- data/pippin-0.1/docs/classes/Roog/ModelComponent.html +236 -0
- data/pippin-0.1/docs/classes/Roog/ModelComponent.src/M000227.html +18 -0
- data/pippin-0.1/docs/classes/Roog/ModelComponent.src/M000228.html +16 -0
- data/pippin-0.1/docs/classes/Roog/ModelComponent.src/M000229.html +16 -0
- data/pippin-0.1/docs/classes/Roog/ModelComponent.src/M000230.html +16 -0
- data/pippin-0.1/docs/classes/Roog/ModelComponent.src/M000231.html +16 -0
- data/pippin-0.1/docs/classes/Roog/ModelComponent.src/M000232.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Namer.html +263 -0
- data/pippin-0.1/docs/classes/Roog/Namer.src/M000062.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Namer.src/M000063.html +25 -0
- data/pippin-0.1/docs/classes/Roog/Namer.src/M000064.html +30 -0
- data/pippin-0.1/docs/classes/Roog/Namer.src/M000065.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Namer.src/M000066.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Path.html +262 -0
- data/pippin-0.1/docs/classes/Roog/Path.src/M000221.html +25 -0
- data/pippin-0.1/docs/classes/Roog/Path.src/M000222.html +16 -0
- data/pippin-0.1/docs/classes/Roog/Path.src/M000223.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Path.src/M000224.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Path.src/M000225.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Path.src/M000226.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Policy.html +268 -0
- data/pippin-0.1/docs/classes/Roog/Policy.src/M000220.html +28 -0
- data/pippin-0.1/docs/classes/Roog/RenameTracker.html +164 -0
- data/pippin-0.1/docs/classes/Roog/RenameTracker.src/M000060.html +19 -0
- data/pippin-0.1/docs/classes/Roog/RenameTracker.src/M000061.html +20 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.html +369 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000072.html +17 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000073.html +17 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000074.html +27 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000075.html +18 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000076.html +35 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000077.html +25 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000078.html +23 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000079.html +28 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000080.html +24 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000081.html +26 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000082.html +20 -0
- data/pippin-0.1/docs/classes/Roog/SchemaDefined.src/M000083.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Semantics_Ruby.html +226 -0
- data/pippin-0.1/docs/classes/Roog/Semantics_Ruby.src/M000067.html +33 -0
- data/pippin-0.1/docs/classes/Roog/Semantics_Ruby.src/M000068.html +28 -0
- data/pippin-0.1/docs/classes/Roog/Semantics_Ruby.src/M000069.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Semantics_Ruby.src/M000070.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Semantics_Ruby.src/M000071.html +18 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.html +382 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000113.html +22 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000114.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000115.html +21 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000116.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000117.html +19 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000118.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000119.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000120.html +20 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000121.html +26 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000122.html +24 -0
- data/pippin-0.1/docs/classes/Roog/Transformer_Ruby.src/M000123.html +21 -0
- data/pippin-0.1/docs/classes/String.html +219 -0
- data/pippin-0.1/docs/classes/String.src/M000004.html +19 -0
- data/pippin-0.1/docs/classes/String.src/M000005.html +19 -0
- data/pippin-0.1/docs/classes/String.src/M000006.html +18 -0
- data/pippin-0.1/docs/classes/String.src/M000007.html +27 -0
- data/pippin-0.1/docs/classes/String.src/M000008.html +25 -0
- data/pippin-0.1/docs/created.rid +1 -0
- data/pippin-0.1/docs/files/License_txt.html +127 -0
- data/pippin-0.1/docs/files/ReadMe_txt.html +127 -0
- data/pippin-0.1/docs/files/RoogStructures_txt.html +155 -0
- data/pippin-0.1/docs/files/nist/pippin/pippin_rb.html +142 -0
- data/pippin-0.1/docs/files/nist/pippin/pippin_rb.src/M000001.html +25 -0
- data/pippin-0.1/docs/files/nist/pippin/roog_rb.html +174 -0
- data/pippin-0.1/docs/files/nist/pippin/roog_rb.src/M000002.html +16 -0
- data/pippin-0.1/docs/fr_class_index.html +49 -0
- data/pippin-0.1/docs/fr_file_index.html +31 -0
- data/pippin-0.1/docs/fr_method_index.html +318 -0
- data/pippin-0.1/docs/index.html +24 -0
- data/pippin-0.1/docs/rdoc-style.css +208 -0
- data/pippin-0.1/lib/nist/pippin/pippin.rb +620 -0
- data/pippin-0.1/lib/nist/pippin/roog.rb +2498 -0
- data/pippin-0.1/tests/test_pippin.rb +332 -0
- data/xiacc-0.1/docs/classes/Array.html +323 -0
- data/xiacc-0.1/docs/classes/Array.src/M000017.html +19 -0
- data/xiacc-0.1/docs/classes/Array.src/M000018.html +18 -0
- data/xiacc-0.1/docs/classes/Array.src/M000019.html +18 -0
- data/xiacc-0.1/docs/classes/Array.src/M000020.html +18 -0
- data/xiacc-0.1/docs/classes/Array.src/M000021.html +22 -0
- data/xiacc-0.1/docs/classes/Array.src/M000022.html +18 -0
- data/xiacc-0.1/docs/classes/Array.src/M000023.html +28 -0
- data/xiacc-0.1/docs/classes/Array.src/M000024.html +18 -0
- data/xiacc-0.1/docs/classes/Array.src/M000025.html +19 -0
- data/xiacc-0.1/docs/classes/Array.src/M000026.html +18 -0
- data/xiacc-0.1/docs/classes/Array.src/M000027.html +20 -0
- data/xiacc-0.1/docs/classes/Array.src/M000028.html +19 -0
- data/xiacc-0.1/docs/classes/Array.src/M000029.html +18 -0
- data/xiacc-0.1/docs/classes/Association.html +189 -0
- data/xiacc-0.1/docs/classes/Association.src/M000001.html +18 -0
- data/xiacc-0.1/docs/classes/Association.src/M000002.html +23 -0
- data/xiacc-0.1/docs/classes/Association.src/M000003.html +19 -0
- data/xiacc-0.1/docs/classes/CollectionExclusionComparator.html +182 -0
- data/xiacc-0.1/docs/classes/CollectionExclusionComparator.src/M000044.html +18 -0
- data/xiacc-0.1/docs/classes/CollectionExclusionComparator.src/M000045.html +20 -0
- data/xiacc-0.1/docs/classes/CollectionExclusionComparator.src/M000046.html +21 -0
- data/xiacc-0.1/docs/classes/CollectionInclusionComparator.html +182 -0
- data/xiacc-0.1/docs/classes/CollectionInclusionComparator.src/M000004.html +18 -0
- data/xiacc-0.1/docs/classes/CollectionInclusionComparator.src/M000005.html +20 -0
- data/xiacc-0.1/docs/classes/CollectionInclusionComparator.src/M000006.html +21 -0
- data/xiacc-0.1/docs/classes/Hash.html +229 -0
- data/xiacc-0.1/docs/classes/Hash.src/M000010.html +22 -0
- data/xiacc-0.1/docs/classes/Hash.src/M000011.html +18 -0
- data/xiacc-0.1/docs/classes/Hash.src/M000012.html +18 -0
- data/xiacc-0.1/docs/classes/Hash.src/M000013.html +19 -0
- data/xiacc-0.1/docs/classes/Hash.src/M000014.html +18 -0
- data/xiacc-0.1/docs/classes/Hash.src/M000015.html +42 -0
- data/xiacc-0.1/docs/classes/Hash.src/M000016.html +24 -0
- data/xiacc-0.1/docs/classes/KeyedCollection.html +139 -0
- data/xiacc-0.1/docs/classes/KeyedCollection.src/M000030.html +20 -0
- data/xiacc-0.1/docs/classes/Object.html +319 -0
- data/xiacc-0.1/docs/classes/Object.src/M000031.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000032.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000033.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000034.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000035.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000036.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000037.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000038.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000039.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000040.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000041.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000042.html +16 -0
- data/xiacc-0.1/docs/classes/Object.src/M000043.html +23 -0
- data/xiacc-0.1/docs/classes/Set.html +169 -0
- data/xiacc-0.1/docs/classes/Set.src/M000007.html +18 -0
- data/xiacc-0.1/docs/classes/Set.src/M000008.html +18 -0
- data/xiacc-0.1/docs/classes/Set.src/M000009.html +20 -0
- data/xiacc-0.1/docs/classes/String.html +184 -0
- data/xiacc-0.1/docs/classes/String.src/M000047.html +18 -0
- data/xiacc-0.1/docs/classes/String.src/M000048.html +21 -0
- data/xiacc-0.1/docs/classes/String.src/M000049.html +34 -0
- data/xiacc-0.1/docs/classes/String.src/M000050.html +18 -0
- data/xiacc-0.1/docs/classes/XI.html +376 -0
- data/xiacc-0.1/docs/classes/XI/CCAction.html +313 -0
- data/xiacc-0.1/docs/classes/XI/CCAction.src/M000196.html +22 -0
- data/xiacc-0.1/docs/classes/XI/CCAction.src/M000197.html +19 -0
- data/xiacc-0.1/docs/classes/XI/CCAction.src/M000198.html +20 -0
- data/xiacc-0.1/docs/classes/XI/CCAction.src/M000199.html +23 -0
- data/xiacc-0.1/docs/classes/XI/CCAction.src/M000200.html +23 -0
- data/xiacc-0.1/docs/classes/XI/CCAction.src/M000201.html +30 -0
- data/xiacc-0.1/docs/classes/XI/CCAction.src/M000202.html +31 -0
- data/xiacc-0.1/docs/classes/XI/CCAction.src/M000203.html +19 -0
- data/xiacc-0.1/docs/classes/XI/CCAction.src/M000204.html +16 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.html +411 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000205.html +18 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000206.html +18 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000207.html +38 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000208.html +38 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000209.html +79 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000210.html +63 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000211.html +44 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000212.html +19 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000213.html +19 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000214.html +19 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000215.html +41 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000216.html +27 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000217.html +51 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000218.html +18 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000219.html +18 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000220.html +18 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000221.html +20 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserGenerator.src/M000222.html +21 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserItem.html +244 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserItem.src/M000229.html +18 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserItem.src/M000230.html +22 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserItem.src/M000231.html +22 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserItem.src/M000232.html +19 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserItem.src/M000233.html +18 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserItem.src/M000234.html +20 -0
- data/xiacc-0.1/docs/classes/XI/CanonicalLRParserItem.src/M000235.html +18 -0
- data/xiacc-0.1/docs/classes/XI/DFA.html +195 -0
- data/xiacc-0.1/docs/classes/XI/DFA.src/M000475.html +18 -0
- data/xiacc-0.1/docs/classes/XI/DFA.src/M000476.html +18 -0
- data/xiacc-0.1/docs/classes/XI/DFA.src/M000477.html +18 -0
- data/xiacc-0.1/docs/classes/XI/DFA.src/M000478.html +18 -0
- data/xiacc-0.1/docs/classes/XI/DFAState.html +157 -0
- data/xiacc-0.1/docs/classes/XI/DFAState.src/M000068.html +18 -0
- data/xiacc-0.1/docs/classes/XI/DFAState.src/M000069.html +19 -0
- data/xiacc-0.1/docs/classes/XI/DebugParserState.html +219 -0
- data/xiacc-0.1/docs/classes/XI/DebugParserState.src/M000479.html +19 -0
- data/xiacc-0.1/docs/classes/XI/DebugParserState.src/M000480.html +23 -0
- data/xiacc-0.1/docs/classes/XI/DebugParserState.src/M000481.html +20 -0
- data/xiacc-0.1/docs/classes/XI/DebugParserState.src/M000482.html +22 -0
- data/xiacc-0.1/docs/classes/XI/DebugParserState.src/M000483.html +18 -0
- data/xiacc-0.1/docs/classes/XI/DepthFirstSearch.html +160 -0
- data/xiacc-0.1/docs/classes/XI/DepthFirstSearch.src/M000164.html +18 -0
- data/xiacc-0.1/docs/classes/XI/DepthFirstSearch.src/M000165.html +22 -0
- data/xiacc-0.1/docs/classes/XI/EndMarker.html +204 -0
- data/xiacc-0.1/docs/classes/XI/EndMarker.src/M000159.html +18 -0
- data/xiacc-0.1/docs/classes/XI/EndMarker.src/M000160.html +20 -0
- data/xiacc-0.1/docs/classes/XI/EndMarker.src/M000161.html +18 -0
- data/xiacc-0.1/docs/classes/XI/EndMarker.src/M000162.html +19 -0
- data/xiacc-0.1/docs/classes/XI/EndMarker.src/M000163.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Epsilon.html +237 -0
- data/xiacc-0.1/docs/classes/XI/Epsilon.src/M000497.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Epsilon.src/M000498.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Epsilon.src/M000499.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Epsilon.src/M000500.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Epsilon.src/M000501.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Epsilon.src/M000502.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Epsilon.src/M000503.html +16 -0
- data/xiacc-0.1/docs/classes/XI/EqualityTestableSet.html +175 -0
- data/xiacc-0.1/docs/classes/XI/EqualityTestableSet.src/M000494.html +18 -0
- data/xiacc-0.1/docs/classes/XI/EqualityTestableSet.src/M000495.html +22 -0
- data/xiacc-0.1/docs/classes/XI/EqualityTestableSet.src/M000496.html +19 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.html +483 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000070.html +18 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000071.html +21 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000072.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000073.html +36 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000074.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000075.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000076.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000077.html +18 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000078.html +20 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000079.html +34 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000080.html +21 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000081.html +20 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000082.html +19 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000083.html +21 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000084.html +30 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000085.html +22 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000086.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000087.html +20 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000088.html +19 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000089.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000090.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomaton.src/M000091.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.html +483 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000453.html +20 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000454.html +20 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000455.html +19 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000456.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000457.html +22 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000458.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000459.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000460.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000461.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000462.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000463.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000464.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000465.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000466.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000467.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000468.html +19 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000469.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000470.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000471.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000472.html +16 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000473.html +23 -0
- data/xiacc-0.1/docs/classes/XI/FiniteAutomatonState.src/M000474.html +16 -0
- data/xiacc-0.1/docs/classes/XI/GrammarString.html +220 -0
- data/xiacc-0.1/docs/classes/XI/GrammarString.src/M000322.html +45 -0
- data/xiacc-0.1/docs/classes/XI/GrammarString.src/M000323.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GrammarString.src/M000324.html +20 -0
- data/xiacc-0.1/docs/classes/XI/GrammarString.src/M000325.html +27 -0
- data/xiacc-0.1/docs/classes/XI/GrammarString.src/M000326.html +19 -0
- data/xiacc-0.1/docs/classes/XI/GrammarString.src/M000327.html +26 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.html +342 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000440.html +20 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000441.html +38 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000442.html +50 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000443.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000444.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000445.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000446.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000447.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000448.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000449.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000450.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000451.html +19 -0
- data/xiacc-0.1/docs/classes/XI/GrammarSymbol.src/M000452.html +28 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.html +468 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000179.html +21 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000180.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000181.html +20 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000182.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000183.html +19 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000184.html +23 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000185.html +25 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000186.html +19 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000187.html +16 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000188.html +16 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000189.html +16 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000190.html +16 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000191.html +20 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000192.html +31 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000193.html +16 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000194.html +19 -0
- data/xiacc-0.1/docs/classes/XI/GraphSearch.src/M000195.html +18 -0
- data/xiacc-0.1/docs/classes/XI/GraphSerachProgress.html +210 -0
- data/xiacc-0.1/docs/classes/XI/GraphSerachProgress.src/M000225.html +16 -0
- data/xiacc-0.1/docs/classes/XI/GraphSerachProgress.src/M000226.html +16 -0
- data/xiacc-0.1/docs/classes/XI/GraphSerachProgress.src/M000227.html +16 -0
- data/xiacc-0.1/docs/classes/XI/GraphSerachProgress.src/M000228.html +16 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.html +373 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000307.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000308.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000309.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000310.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000311.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000312.html +29 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000313.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000314.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000315.html +21 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000316.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000317.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000318.html +21 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000319.html +20 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000320.html +24 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManager.src/M000321.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.html +306 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.src/M000356.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.src/M000357.html +19 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.src/M000358.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.src/M000359.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.src/M000360.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.src/M000361.html +20 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.src/M000362.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.src/M000363.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.src/M000364.html +18 -0
- data/xiacc-0.1/docs/classes/XI/InstanceManagerFromSpec.src/M000365.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ItemSet.html +231 -0
- data/xiacc-0.1/docs/classes/XI/ItemSet.src/M000393.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ItemSet.src/M000394.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ItemSet.src/M000395.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ItemSet.src/M000396.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ItemSet.src/M000397.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ItemSet.src/M000398.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ItemSet.src/M000399.html +20 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.html +409 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000337.html +20 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000338.html +19 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000339.html +19 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000340.html +20 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000341.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000342.html +22 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000343.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000344.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000345.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000346.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000347.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000348.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000349.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000350.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000351.html +42 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000352.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserGenerator.src/M000353.html +28 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.html +348 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000131.html +19 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000132.html +20 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000133.html +19 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000134.html +19 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000135.html +19 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000136.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000137.html +47 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000138.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000139.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000140.html +20 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000141.html +26 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000142.html +23 -0
- data/xiacc-0.1/docs/classes/XI/LRParserItem.src/M000143.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Language.html +1007 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000253.html +26 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000254.html +25 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000255.html +24 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000256.html +27 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000257.html +23 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000258.html +27 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000259.html +27 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000260.html +27 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000261.html +23 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000262.html +54 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000263.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000264.html +21 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000265.html +21 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000266.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000267.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000268.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000269.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000270.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000271.html +21 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000272.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000273.html +115 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000274.html +61 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000275.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000276.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000277.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000278.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000279.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000280.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000281.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000282.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000283.html +21 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000284.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000285.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000286.html +25 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000287.html +27 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000288.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000289.html +35 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000290.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000291.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000292.html +21 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000293.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000294.html +22 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000295.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000296.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000297.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000298.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000299.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000300.html +34 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000301.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000302.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000303.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000304.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000305.html +32 -0
- data/xiacc-0.1/docs/classes/XI/Language.src/M000306.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Lexer.html +174 -0
- data/xiacc-0.1/docs/classes/XI/Lexer.src/M000223.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Lexer.src/M000224.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LexerGenerator.html +169 -0
- data/xiacc-0.1/docs/classes/XI/LexerGenerator.src/M000354.html +18 -0
- data/xiacc-0.1/docs/classes/XI/LexerGenerator.src/M000355.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.html +681 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000404.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000405.html +24 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000406.html +29 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000407.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000408.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000409.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000410.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000411.html +22 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000412.html +21 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000413.html +18 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000414.html +18 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000415.html +25 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000416.html +20 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000417.html +63 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000418.html +19 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000419.html +19 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000420.html +18 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000421.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000422.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000423.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000424.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000425.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000426.html +18 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000427.html +29 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000428.html +34 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000429.html +20 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000430.html +28 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000431.html +21 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000432.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000433.html +20 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000434.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000435.html +27 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000436.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000437.html +16 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000438.html +30 -0
- data/xiacc-0.1/docs/classes/XI/NFA.src/M000439.html +24 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.html +334 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000380.html +22 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000381.html +18 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000382.html +26 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000383.html +19 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000384.html +18 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000385.html +18 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000386.html +18 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000387.html +18 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000388.html +21 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000389.html +24 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000390.html +18 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000391.html +20 -0
- data/xiacc-0.1/docs/classes/XI/NFAState.src/M000392.html +20 -0
- data/xiacc-0.1/docs/classes/XI/NonTerminal.html +172 -0
- data/xiacc-0.1/docs/classes/XI/NonTerminal.src/M000129.html +21 -0
- data/xiacc-0.1/docs/classes/XI/NonTerminal.src/M000130.html +18 -0
- data/xiacc-0.1/docs/classes/XI/OrderedCollection.html +171 -0
- data/xiacc-0.1/docs/classes/XI/OrderedCollection.src/M000176.html +18 -0
- data/xiacc-0.1/docs/classes/XI/OrderedCollection.src/M000177.html +20 -0
- data/xiacc-0.1/docs/classes/XI/OrderedCollection.src/M000178.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.html +339 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000368.html +19 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000369.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000370.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000371.html +32 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000372.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000373.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000374.html +27 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000375.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000376.html +32 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000377.html +22 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000378.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParseTreeNode.src/M000379.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Parser.html +444 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000111.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000112.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000113.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000114.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000115.html +23 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000116.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000117.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000118.html +25 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000119.html +28 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000120.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000121.html +37 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000122.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000123.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000124.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000125.html +21 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000126.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000127.html +79 -0
- data/xiacc-0.1/docs/classes/XI/Parser.src/M000128.html +23 -0
- data/xiacc-0.1/docs/classes/XI/ParserAction.html +224 -0
- data/xiacc-0.1/docs/classes/XI/ParserAction.src/M000154.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ParserAction.src/M000155.html +16 -0
- data/xiacc-0.1/docs/classes/XI/ParserAction.src/M000156.html +29 -0
- data/xiacc-0.1/docs/classes/XI/ParserAction.src/M000157.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParserAction.src/M000158.html +16 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionAccept.html +148 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionAccept.src/M000067.html +23 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionPreAccept.html +155 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionPreAccept.src/M000066.html +19 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionReduce.html +199 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionReduce.src/M000400.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionReduce.src/M000401.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionReduce.src/M000402.html +27 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionReduce.src/M000403.html +19 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionShift.html +214 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionShift.src/M000107.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionShift.src/M000108.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionShift.src/M000109.html +24 -0
- data/xiacc-0.1/docs/classes/XI/ParserActionShift.src/M000110.html +21 -0
- data/xiacc-0.1/docs/classes/XI/ParserComparator.html +139 -0
- data/xiacc-0.1/docs/classes/XI/ParserComparator.src/M000493.html +16 -0
- data/xiacc-0.1/docs/classes/XI/ParserRecorder.html +214 -0
- data/xiacc-0.1/docs/classes/XI/ParserRecorder.src/M000061.html +19 -0
- data/xiacc-0.1/docs/classes/XI/ParserRecorder.src/M000062.html +19 -0
- data/xiacc-0.1/docs/classes/XI/ParserRecorder.src/M000063.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ParserRecorder.src/M000064.html +19 -0
- data/xiacc-0.1/docs/classes/XI/ParserRecorder.src/M000065.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ParserState.html +297 -0
- data/xiacc-0.1/docs/classes/XI/ParserState.src/M000328.html +19 -0
- data/xiacc-0.1/docs/classes/XI/ParserState.src/M000329.html +21 -0
- data/xiacc-0.1/docs/classes/XI/ParserState.src/M000330.html +36 -0
- data/xiacc-0.1/docs/classes/XI/ParserState.src/M000331.html +32 -0
- data/xiacc-0.1/docs/classes/XI/ParserState.src/M000332.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ParserState.src/M000333.html +24 -0
- data/xiacc-0.1/docs/classes/XI/ParserState.src/M000334.html +29 -0
- data/xiacc-0.1/docs/classes/XI/ParserState.src/M000335.html +22 -0
- data/xiacc-0.1/docs/classes/XI/ParserState.src/M000336.html +16 -0
- data/xiacc-0.1/docs/classes/XI/ParserTransition.html +209 -0
- data/xiacc-0.1/docs/classes/XI/ParserTransition.src/M000103.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParserTransition.src/M000104.html +24 -0
- data/xiacc-0.1/docs/classes/XI/ParserTransition.src/M000105.html +22 -0
- data/xiacc-0.1/docs/classes/XI/ParserTransition.src/M000106.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParserWarning.html +212 -0
- data/xiacc-0.1/docs/classes/XI/ParserWarning.src/M000057.html +18 -0
- data/xiacc-0.1/docs/classes/XI/ParserWarning.src/M000058.html +21 -0
- data/xiacc-0.1/docs/classes/XI/ParserWarning.src/M000059.html +21 -0
- data/xiacc-0.1/docs/classes/XI/ParserWarning.src/M000060.html +20 -0
- data/xiacc-0.1/docs/classes/XI/ProcessorScheduler.html +207 -0
- data/xiacc-0.1/docs/classes/XI/ProcessorScheduler.src/M000100.html +25 -0
- data/xiacc-0.1/docs/classes/XI/ProcessorScheduler.src/M000101.html +22 -0
- data/xiacc-0.1/docs/classes/XI/ProcessorScheduler.src/M000102.html +27 -0
- data/xiacc-0.1/docs/classes/XI/Production.html +310 -0
- data/xiacc-0.1/docs/classes/XI/Production.src/M000144.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Production.src/M000145.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Production.src/M000146.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Production.src/M000147.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Production.src/M000148.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Production.src/M000149.html +16 -0
- data/xiacc-0.1/docs/classes/XI/Production.src/M000150.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Production.src/M000151.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Production.src/M000152.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Production.src/M000153.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.html +306 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.src/M000166.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.src/M000167.html +20 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.src/M000168.html +28 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.src/M000169.html +21 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.src/M000170.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.src/M000171.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.src/M000172.html +21 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.src/M000173.html +21 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.src/M000174.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Recognizer.src/M000175.html +20 -0
- data/xiacc-0.1/docs/classes/XI/RecognizerWithPostCondition.html +167 -0
- data/xiacc-0.1/docs/classes/XI/RecognizerWithPostCondition.src/M000251.html +18 -0
- data/xiacc-0.1/docs/classes/XI/RecognizerWithPostCondition.src/M000252.html +21 -0
- data/xiacc-0.1/docs/classes/XI/RestrictedCollectionExclusionComparator.html +220 -0
- data/xiacc-0.1/docs/classes/XI/RestrictedCollectionExclusionComparator.src/M000052.html +19 -0
- data/xiacc-0.1/docs/classes/XI/RestrictedCollectionExclusionComparator.src/M000053.html +21 -0
- data/xiacc-0.1/docs/classes/XI/RestrictedCollectionExclusionComparator.src/M000054.html +21 -0
- data/xiacc-0.1/docs/classes/XI/RestrictedCollectionExclusionComparator.src/M000055.html +18 -0
- data/xiacc-0.1/docs/classes/XI/RestrictedCollectionExclusionComparator.src/M000056.html +22 -0
- data/xiacc-0.1/docs/classes/XI/Shortcut.html +216 -0
- data/xiacc-0.1/docs/classes/XI/Shortcut.src/M000248.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Shortcut.src/M000249.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Shortcut.src/M000250.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Terminal.html +192 -0
- data/xiacc-0.1/docs/classes/XI/Terminal.src/M000246.html +22 -0
- data/xiacc-0.1/docs/classes/XI/Terminal.src/M000247.html +16 -0
- data/xiacc-0.1/docs/classes/XI/TerminalDescription.html +157 -0
- data/xiacc-0.1/docs/classes/XI/TerminalDescription.src/M000051.html +19 -0
- data/xiacc-0.1/docs/classes/XI/TextLexer.html +234 -0
- data/xiacc-0.1/docs/classes/XI/TextLexer.src/M000094.html +20 -0
- data/xiacc-0.1/docs/classes/XI/TextLexer.src/M000095.html +66 -0
- data/xiacc-0.1/docs/classes/XI/TextLexer.src/M000096.html +16 -0
- data/xiacc-0.1/docs/classes/XI/TextLexer.src/M000097.html +16 -0
- data/xiacc-0.1/docs/classes/XI/TextLexer.src/M000098.html +16 -0
- data/xiacc-0.1/docs/classes/XI/TextLexer.src/M000099.html +29 -0
- data/xiacc-0.1/docs/classes/XI/TextLexerGenerator.html +169 -0
- data/xiacc-0.1/docs/classes/XI/TextLexerGenerator.src/M000092.html +19 -0
- data/xiacc-0.1/docs/classes/XI/TextLexerGenerator.src/M000093.html +36 -0
- data/xiacc-0.1/docs/classes/XI/Transition.html +234 -0
- data/xiacc-0.1/docs/classes/XI/Transition.src/M000487.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Transition.src/M000488.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Transition.src/M000489.html +19 -0
- data/xiacc-0.1/docs/classes/XI/Transition.src/M000490.html +18 -0
- data/xiacc-0.1/docs/classes/XI/Transition.src/M000491.html +21 -0
- data/xiacc-0.1/docs/classes/XI/Transition.src/M000492.html +18 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.html +292 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.src/M000236.html +20 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.src/M000237.html +20 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.src/M000238.html +18 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.src/M000239.html +18 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.src/M000240.html +18 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.src/M000241.html +30 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.src/M000242.html +32 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.src/M000243.html +19 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.src/M000244.html +18 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedDictionary.src/M000245.html +32 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedSet.html +171 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedSet.src/M000484.html +18 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedSet.src/M000485.html +21 -0
- data/xiacc-0.1/docs/classes/XI/UnHashedSet.src/M000486.html +19 -0
- data/xiacc-0.1/docs/classes/XI/UndefinedObject.html +189 -0
- data/xiacc-0.1/docs/classes/XI/UndefinedObject.src/M000366.html +18 -0
- data/xiacc-0.1/docs/classes/XI/UndefinedObject.src/M000367.html +19 -0
- data/xiacc-0.1/docs/created.rid +1 -0
- data/xiacc-0.1/docs/files/License_txt.html +136 -0
- data/xiacc-0.1/docs/files/ReadMe_txt.html +229 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Association_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/CCAction_rb.html +110 -0
- data/xiacc-0.1/docs/files/nist/xiacc/CCArrayAddon_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/CCHashAddon_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/CCObjectAddon_rb.html +101 -0
- data/xiacc-0.1/docs/files/nist/xiacc/CCSetAddon_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/CCStringAddon_rb.html +101 -0
- data/xiacc-0.1/docs/files/nist/xiacc/CanonicalLRParserGenerator_rb.html +119 -0
- data/xiacc-0.1/docs/files/nist/xiacc/CanonicalLRParserItem_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/CollectionExclusionComparator_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/CollectionInclusionComparator_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Collection_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/DFAState_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/DFA_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/DebugParserState_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/DepthFirstSearch_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/EndMarker_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Epsilon_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/EqualityTestableSet_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/FiniteAutomatonState_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/FiniteAutomaton_rb.html +112 -0
- data/xiacc-0.1/docs/files/nist/xiacc/GrammarString_rb.html +111 -0
- data/xiacc-0.1/docs/files/nist/xiacc/GrammarSymbol_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/GraphSearchProgress_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/GraphSearch_rb.html +111 -0
- data/xiacc-0.1/docs/files/nist/xiacc/InstanceManagerFromSpec_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/InstanceManager_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ItemSet_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/KeyedCollection_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/LRParserGenerator_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/LRParserItem_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Language_rb.html +120 -0
- data/xiacc-0.1/docs/files/nist/xiacc/LexerGenerator_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Lexer_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/NFAState_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/NFA_rb.html +113 -0
- data/xiacc-0.1/docs/files/nist/xiacc/NonTerminal_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/OrderedCollection_rb.html +101 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParseTreeNode_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParserActionAccept_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParserActionPreAccept_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParserActionReduce_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParserActionShift_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParserAction_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParserComparator_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParserRecorder_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParserState_rb.html +111 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParserTransition_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ParserWarning_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Parser_rb.html +111 -0
- data/xiacc-0.1/docs/files/nist/xiacc/ProcessorScheduler_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Production_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/RecognizerWithPostCondition_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Recognizer_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/RestrictedCollectionExclusionComparator_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Shortcut_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/TerminalDescription_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Terminal_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/TextLexerGenerator_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/TextLexer_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/Transition_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/UnHashedDictionary_rb.html +109 -0
- data/xiacc-0.1/docs/files/nist/xiacc/UnHashedSet_rb.html +108 -0
- data/xiacc-0.1/docs/files/nist/xiacc/UndefinedObject_rb.html +108 -0
- data/xiacc-0.1/docs/fr_class_index.html +90 -0
- data/xiacc-0.1/docs/fr_file_index.html +92 -0
- data/xiacc-0.1/docs/fr_method_index.html +529 -0
- data/xiacc-0.1/docs/index.html +24 -0
- data/xiacc-0.1/docs/rdoc-style.css +208 -0
- data/xiacc-0.1/lib/nist/xiacc/Association.rb +27 -0
- data/xiacc-0.1/lib/nist/xiacc/CCAction.rb +99 -0
- data/xiacc-0.1/lib/nist/xiacc/CCArrayAddon.rb +68 -0
- data/xiacc-0.1/lib/nist/xiacc/CCHashAddon.rb +68 -0
- data/xiacc-0.1/lib/nist/xiacc/CCObjectAddon.rb +25 -0
- data/xiacc-0.1/lib/nist/xiacc/CCSetAddon.rb +19 -0
- data/xiacc-0.1/lib/nist/xiacc/CCStringAddon.rb +38 -0
- data/xiacc-0.1/lib/nist/xiacc/CanonicalLRParserGenerator.rb +343 -0
- data/xiacc-0.1/lib/nist/xiacc/CanonicalLRParserItem.rb +49 -0
- data/xiacc-0.1/lib/nist/xiacc/Collection.rb +15 -0
- data/xiacc-0.1/lib/nist/xiacc/CollectionExclusionComparator.rb +24 -0
- data/xiacc-0.1/lib/nist/xiacc/CollectionInclusionComparator.rb +25 -0
- data/xiacc-0.1/lib/nist/xiacc/DFA.rb +28 -0
- data/xiacc-0.1/lib/nist/xiacc/DFAState.rb +20 -0
- data/xiacc-0.1/lib/nist/xiacc/DebugParserState.rb +44 -0
- data/xiacc-0.1/lib/nist/xiacc/DepthFirstSearch.rb +22 -0
- data/xiacc-0.1/lib/nist/xiacc/EndMarker.rb +33 -0
- data/xiacc-0.1/lib/nist/xiacc/Epsilon.rb +28 -0
- data/xiacc-0.1/lib/nist/xiacc/EqualityTestableSet.rb +27 -0
- data/xiacc-0.1/lib/nist/xiacc/FiniteAutomaton.rb +154 -0
- data/xiacc-0.1/lib/nist/xiacc/FiniteAutomatonState.rb +74 -0
- data/xiacc-0.1/lib/nist/xiacc/GrammarString.rb +84 -0
- data/xiacc-0.1/lib/nist/xiacc/GrammarSymbol.rb +129 -0
- data/xiacc-0.1/lib/nist/xiacc/GraphSearch.rb +129 -0
- data/xiacc-0.1/lib/nist/xiacc/GraphSearchProgress.rb +19 -0
- data/xiacc-0.1/lib/nist/xiacc/InstanceManager.rb +101 -0
- data/xiacc-0.1/lib/nist/xiacc/InstanceManagerFromSpec.rb +70 -0
- data/xiacc-0.1/lib/nist/xiacc/ItemSet.rb +43 -0
- data/xiacc-0.1/lib/nist/xiacc/KeyedCollection.rb +12 -0
- data/xiacc-0.1/lib/nist/xiacc/LRParserGenerator.rb +127 -0
- data/xiacc-0.1/lib/nist/xiacc/LRParserItem.rb +118 -0
- data/xiacc-0.1/lib/nist/xiacc/Language.rb +577 -0
- data/xiacc-0.1/lib/nist/xiacc/Lexer.rb +19 -0
- data/xiacc-0.1/lib/nist/xiacc/LexerGenerator.rb +17 -0
- data/xiacc-0.1/lib/nist/xiacc/NFA.rb +277 -0
- data/xiacc-0.1/lib/nist/xiacc/NFAState.rb +93 -0
- data/xiacc-0.1/lib/nist/xiacc/NonTerminal.rb +22 -0
- data/xiacc-0.1/lib/nist/xiacc/OrderedCollection.rb +22 -0
- data/xiacc-0.1/lib/nist/xiacc/ParseTreeNode.rb +109 -0
- data/xiacc-0.1/lib/nist/xiacc/Parser.rb +208 -0
- data/xiacc-0.1/lib/nist/xiacc/ParserAction.rb +42 -0
- data/xiacc-0.1/lib/nist/xiacc/ParserActionAccept.rb +19 -0
- data/xiacc-0.1/lib/nist/xiacc/ParserActionPreAccept.rb +18 -0
- data/xiacc-0.1/lib/nist/xiacc/ParserActionReduce.rb +40 -0
- data/xiacc-0.1/lib/nist/xiacc/ParserActionShift.rb +42 -0
- data/xiacc-0.1/lib/nist/xiacc/ParserComparator.rb +10 -0
- data/xiacc-0.1/lib/nist/xiacc/ParserRecorder.rb +37 -0
- data/xiacc-0.1/lib/nist/xiacc/ParserState.rb +113 -0
- data/xiacc-0.1/lib/nist/xiacc/ParserTransition.rb +39 -0
- data/xiacc-0.1/lib/nist/xiacc/ParserWarning.rb +38 -0
- data/xiacc-0.1/lib/nist/xiacc/ProcessorScheduler.rb +49 -0
- data/xiacc-0.1/lib/nist/xiacc/Production.rb +51 -0
- data/xiacc-0.1/lib/nist/xiacc/Recognizer.rb +77 -0
- data/xiacc-0.1/lib/nist/xiacc/RecognizerWithPostCondition.rb +22 -0
- data/xiacc-0.1/lib/nist/xiacc/RestrictedCollectionExclusionComparator.rb +41 -0
- data/xiacc-0.1/lib/nist/xiacc/Shortcut.rb +40 -0
- data/xiacc-0.1/lib/nist/xiacc/Terminal.rb +46 -0
- data/xiacc-0.1/lib/nist/xiacc/TerminalDescription.rb +16 -0
- data/xiacc-0.1/lib/nist/xiacc/TextLexer.rb +90 -0
- data/xiacc-0.1/lib/nist/xiacc/TextLexerGenerator.rb +38 -0
- data/xiacc-0.1/lib/nist/xiacc/Transition.rb +41 -0
- data/xiacc-0.1/lib/nist/xiacc/UnHashedDictionary.rb +97 -0
- data/xiacc-0.1/lib/nist/xiacc/UnHashedSet.rb +24 -0
- data/xiacc-0.1/lib/nist/xiacc/UndefinedObject.rb +22 -0
- metadata +1252 -0
@@ -0,0 +1,70 @@
|
|
1
|
+
module XI
|
2
|
+
|
3
|
+
require 'nist/xiacc/InstanceManager'
|
4
|
+
|
5
|
+
# This class represents named objects which are created
|
6
|
+
# from a named spec through an intermediate generator object (not named).
|
7
|
+
#
|
8
|
+
# Subclasses must override these messages:
|
9
|
+
# class side:
|
10
|
+
# specClass
|
11
|
+
# generatorClass
|
12
|
+
# instance side:
|
13
|
+
# generator: (Initialize the instance from the generator)
|
14
|
+
#
|
15
|
+
#
|
16
|
+
# The generator must support this protocol:
|
17
|
+
# class side:
|
18
|
+
# spec: (Returns a new instance initialized from the spec)
|
19
|
+
# instance side:
|
20
|
+
# name
|
21
|
+
# whatever is required by the above generator: instance side method
|
22
|
+
|
23
|
+
class InstanceManagerFromSpec < InstanceManager
|
24
|
+
|
25
|
+
#instance creation
|
26
|
+
def newNamed( aSymbol )
|
27
|
+
newNamedWithClass( aSymbol, generatorClass )
|
28
|
+
end
|
29
|
+
|
30
|
+
def InstanceManagerFromSpec.newNamedWithSpecNameAndGeneratorClass( instanceName, specName, generatorClass )
|
31
|
+
spec = specNamed( instanceName )
|
32
|
+
return InstanceManagerFromSpec.newNamedFromGenerator( instanceName, eval( generatorClass ).spec( spec ) )
|
33
|
+
end
|
34
|
+
|
35
|
+
def InstanceManagerFromSpec.newNamed( aSymbol )
|
36
|
+
return InstanceManagerFromSpec.newNamedWithGeneratorClass( aSymbol, generatorClass )
|
37
|
+
end
|
38
|
+
|
39
|
+
def InstanceManagerFromSpec.fromGenerator( generator, className )
|
40
|
+
return InstanceManagerFromSpec.newNamedFromGenerator( generator.name, generator, className )
|
41
|
+
end
|
42
|
+
|
43
|
+
def InstanceManagerFromSpec.generatorClass
|
44
|
+
error( "Oops, this shouldn't be called, subclass responsibility\n" )
|
45
|
+
end
|
46
|
+
|
47
|
+
def InstanceManagerFromSpec.newNamedFromGenerator( aSymbol, aGenerator, className )
|
48
|
+
imfs = InstanceManagerFromSpec.defaultNamedWithClass( aSymbol, className )
|
49
|
+
imfs.setGenerator( aGenerator )
|
50
|
+
imfs
|
51
|
+
end
|
52
|
+
|
53
|
+
def InstanceManagerFromSpec.newNamedGeneratorClass( instanceAndSpecName, generatorClass )
|
54
|
+
InstanceManagerFromSpec.newNamedWithSpecNameAndGeneratorClass( instanceAndSpecName, instanceAndSpecName, generatorClass )
|
55
|
+
end
|
56
|
+
|
57
|
+
def InstanceManagerFromSpec.specClass
|
58
|
+
error( "Oops, this shouldn't be called, subclass responsibility\n" )
|
59
|
+
end
|
60
|
+
|
61
|
+
def InstanceManagerFromSpec.specNamed( instanceName )
|
62
|
+
specClass.named( instanceName )
|
63
|
+
end
|
64
|
+
|
65
|
+
def setGenerator( aGenerator )
|
66
|
+
error( "Subclass responsibility" )
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module XI
|
2
|
+
require 'nist/xiacc/UnHashedSet'
|
3
|
+
|
4
|
+
class ItemSet < UnHashedSet
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
super
|
8
|
+
end
|
9
|
+
|
10
|
+
def ItemSet.fromArray( arr )
|
11
|
+
is = ItemSet.new
|
12
|
+
arr.each { |val| is.push( val ) }
|
13
|
+
is
|
14
|
+
end
|
15
|
+
|
16
|
+
def acceptsProduction?( aProduction )
|
17
|
+
#answer = select { |item| item.isAtEnd? and item.production.equal?( aProduction ) and item.lookahead.isEndMarker? }
|
18
|
+
each { |item| return true if ( item.isAtEnd? and item.production.eql?( aProduction ) and item.lookahead.isEndMarker? ) }
|
19
|
+
return false
|
20
|
+
end
|
21
|
+
|
22
|
+
def containsProduction?( aProduction )
|
23
|
+
#print "looking for production: #{aProduction.to_s} my size is: #{size}\n"
|
24
|
+
each { |item| return true if item.production.eql?( aProduction ) }
|
25
|
+
return false
|
26
|
+
end
|
27
|
+
|
28
|
+
def endItemsWithLookahead( aTerminal )
|
29
|
+
( select { |item| item.isAtEnd? and item.lookahead.eql?( aTerminal ) } ).to_itemSet
|
30
|
+
end
|
31
|
+
|
32
|
+
def endItemWithLookahead( aTerminal )
|
33
|
+
( select { |item| item.isAtEnd? and item.lookahead.equal?( aTerminal ) } ).to_itemSet
|
34
|
+
end
|
35
|
+
|
36
|
+
def includesNextSymbol?( symbol )
|
37
|
+
#print "in includeNextSymbol? : \n"
|
38
|
+
each { |item| return true if item.hasNextSymbol?( symbol ) == true }
|
39
|
+
return false
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,127 @@
|
|
1
|
+
module XI
|
2
|
+
|
3
|
+
require 'nist/xiacc/CCObjectAddon'
|
4
|
+
|
5
|
+
class LRParserGenerator
|
6
|
+
|
7
|
+
attr :language, true
|
8
|
+
attr :stateKeyedDictionary, true
|
9
|
+
attr :initialState, true
|
10
|
+
attr :warnings, true
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
super
|
14
|
+
@warnings = Array.new
|
15
|
+
@stateKeyedDictionary = Hash.new
|
16
|
+
end
|
17
|
+
|
18
|
+
def LRParserGenerator.language( aLanguage )
|
19
|
+
( lrpg = LRParserGenerator.new ).language = aLanguage
|
20
|
+
lrpg
|
21
|
+
end
|
22
|
+
|
23
|
+
def LRParserGenerator.spec( aLanguage )
|
24
|
+
( @language = aLanguage ).generateStates
|
25
|
+
@language
|
26
|
+
end
|
27
|
+
|
28
|
+
def createStateForItems( parserItems )
|
29
|
+
newState = stateClass.alternativeInitialize( @stateKeyedDictionary.size + 1, parserItems )
|
30
|
+
@stateKeyedDictionary[ newState ] = parserItems
|
31
|
+
newState
|
32
|
+
end
|
33
|
+
|
34
|
+
def first( aGrammarStringOrGrammarSymbol )
|
35
|
+
@language.unshift = aGrammarStringOrGrammarSymbol
|
36
|
+
end
|
37
|
+
|
38
|
+
def generateInitialState
|
39
|
+
seedItem = itemClass.alternativeInitialize( @language.startProduction, 0, EndMarker.default )
|
40
|
+
@initialState = createStateForItems( closureOfItemSet( [ seedItem ] ) )
|
41
|
+
#print "initialState is: #{initialState.to_s}\n"
|
42
|
+
@initialState
|
43
|
+
#exit
|
44
|
+
end
|
45
|
+
|
46
|
+
def itemClass
|
47
|
+
error( "A subclass should have defined this: LRParserGenerator#itemClass" )
|
48
|
+
end
|
49
|
+
|
50
|
+
def itemsForState( aParserState )
|
51
|
+
@stateKeyedDictionary[ aParserState ].to_itemSet
|
52
|
+
end
|
53
|
+
|
54
|
+
def name
|
55
|
+
@language.name
|
56
|
+
end
|
57
|
+
|
58
|
+
def productionDictionary
|
59
|
+
@language.productionDictionary
|
60
|
+
end
|
61
|
+
|
62
|
+
def productions
|
63
|
+
@language.productions
|
64
|
+
end
|
65
|
+
|
66
|
+
def productionsForNonTerminal( aNonTerminal )
|
67
|
+
@language.productionsForNonTerminal( aNonTerminal )
|
68
|
+
end
|
69
|
+
|
70
|
+
def stateClass
|
71
|
+
error( "A subclass should have defined this: LRParserGenerator#stateClass" )
|
72
|
+
end
|
73
|
+
|
74
|
+
def stateForItems( parserItems )
|
75
|
+
return testAbsenseForStateForItems( parserItems ) { createStateForItems( parserItems ) }
|
76
|
+
end
|
77
|
+
|
78
|
+
def testAbsenseForStateForItems( parserItems, &block )
|
79
|
+
#print "value has type: "
|
80
|
+
#@stateKeyedDictionary.each_pair do
|
81
|
+
# |key,value|
|
82
|
+
# value.each { |val| print val.class.to_s + "\n" }
|
83
|
+
#end
|
84
|
+
|
85
|
+
#print "stateKeyedDictionary: #{@stateKeyedDictionary.to_a.join( " and " )}\n"
|
86
|
+
#print "hash #'s: "
|
87
|
+
#@stateKeyedDictionary.each_pair { |key,value| print "KEY: #{key.hash}" }
|
88
|
+
#@stateKeyedDictionary.each_pair { |key,value| print "value: #{value.hash}" }
|
89
|
+
#opposite = @stateKeyedDictionary.invert
|
90
|
+
#return block.call if opposite[ parserItems ] == nil
|
91
|
+
#opposite[ parserItems ]
|
92
|
+
found = false
|
93
|
+
retval = nil
|
94
|
+
@stateKeyedDictionary.each_pair do
|
95
|
+
|key,value|
|
96
|
+
if value.eql?( parserItems )
|
97
|
+
found = true
|
98
|
+
retval = key
|
99
|
+
break
|
100
|
+
end
|
101
|
+
end
|
102
|
+
return block.call if !found
|
103
|
+
return retval
|
104
|
+
end
|
105
|
+
|
106
|
+
def generateStates
|
107
|
+
error( "Subclass responsibility" )
|
108
|
+
end
|
109
|
+
|
110
|
+
def printStatesOn( stream )
|
111
|
+
#print "size: #{@stateKeyedDictionary.keys.size}\n"
|
112
|
+
stream << "---------------------------------\n"
|
113
|
+
@stateKeyedDictionary.each_pair do
|
114
|
+
|key,value|
|
115
|
+
#print "matey.. state has class: #{key.class.to_s}\n"
|
116
|
+
stream << "State: #{key.to_s} "
|
117
|
+
#print "Aye\n"
|
118
|
+
#$defout.flush
|
119
|
+
stream << "and ItemSet: #{value.to_s}\n----\n"
|
120
|
+
end
|
121
|
+
stream << "---------------------------------\n"
|
122
|
+
end
|
123
|
+
|
124
|
+
|
125
|
+
end
|
126
|
+
|
127
|
+
end
|
@@ -0,0 +1,118 @@
|
|
1
|
+
module XI
|
2
|
+
|
3
|
+
require 'nist/xiacc/CCObjectAddon'
|
4
|
+
require 'nist/xiacc/GrammarString'
|
5
|
+
|
6
|
+
class LRParserItem
|
7
|
+
|
8
|
+
attr :production, true
|
9
|
+
attr :index, true
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
super
|
13
|
+
@index = -1
|
14
|
+
end
|
15
|
+
|
16
|
+
def LRParserItem.alternativeInitialize( aProduction, positiveInteger )
|
17
|
+
lrpi = LRParserItem.new
|
18
|
+
lrpi.production = aProduction
|
19
|
+
lrpi.index = positiveInteger
|
20
|
+
end
|
21
|
+
|
22
|
+
# comparison
|
23
|
+
def ==( anotherInstance )
|
24
|
+
return false if self.class.equal?( anotherInstance.class ) == false
|
25
|
+
return ( @production.equal?( anotherInstance.production ) and @index == anotherInstance.index )
|
26
|
+
end
|
27
|
+
|
28
|
+
def eql?( another )
|
29
|
+
return true if self.hash == another.hash
|
30
|
+
return false
|
31
|
+
end
|
32
|
+
|
33
|
+
def hash
|
34
|
+
#print "lr_parser_item\#hash, production is: #{@production} and production's hash: #{@production.hash} and index's: #{@index.hash}\n"
|
35
|
+
return @production.hash + @index.hash
|
36
|
+
end
|
37
|
+
|
38
|
+
# operation
|
39
|
+
def advance
|
40
|
+
@index = @index + 1
|
41
|
+
end
|
42
|
+
|
43
|
+
def printOn( aStream )
|
44
|
+
#super( aStream )
|
45
|
+
#aStream << " "
|
46
|
+
@production.printHeadOn( aStream )
|
47
|
+
@expansion = @production.expansion
|
48
|
+
#@index.times do
|
49
|
+
# |idx|
|
50
|
+
# @expansion[ idx ].printNameOn( aStream )
|
51
|
+
#end
|
52
|
+
#aStream << ". "
|
53
|
+
#s = @expansion.size - index
|
54
|
+
#s = s - 1
|
55
|
+
#s.times do
|
56
|
+
# |idx|
|
57
|
+
# pos = index + idx
|
58
|
+
# @expansion[ pos ].printNameOn( aStream )
|
59
|
+
#end
|
60
|
+
dotDone = false
|
61
|
+
@expansion.size.times do
|
62
|
+
|idx|
|
63
|
+
if idx == @index
|
64
|
+
aStream << ". "
|
65
|
+
dotDone = true
|
66
|
+
end
|
67
|
+
@expansion[ idx ].printNameOn( aStream )
|
68
|
+
aStream << " "
|
69
|
+
end
|
70
|
+
if dotDone == false
|
71
|
+
aStream << "."
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
def isAtEnd?
|
77
|
+
return @index >= @production.expansion.size
|
78
|
+
end
|
79
|
+
|
80
|
+
def isAtStart?
|
81
|
+
@index == 0
|
82
|
+
end
|
83
|
+
|
84
|
+
def nextGrammarSymbol
|
85
|
+
#print "its class: #{@production.expansion[ @index ].class.to_s}\n"
|
86
|
+
# XXXXXXXX danger, will robinson, danger.... changed from @index + 1
|
87
|
+
@production.expansion[ @index ]
|
88
|
+
end
|
89
|
+
|
90
|
+
def nextNonTerminal
|
91
|
+
if isAtEnd?
|
92
|
+
return nil
|
93
|
+
end
|
94
|
+
n = nextGrammarSymbol
|
95
|
+
# XXXXXXXXXX danger, will robinson, danger.... changed from Terminal to NonTerminal
|
96
|
+
if n.class == NonTerminal
|
97
|
+
return n
|
98
|
+
end
|
99
|
+
nil
|
100
|
+
end
|
101
|
+
|
102
|
+
def remainingGrammarSymbols
|
103
|
+
if isAtEnd?
|
104
|
+
return GrammarString.new
|
105
|
+
end
|
106
|
+
pe = @production.expansion
|
107
|
+
# XXXXXXXXX this may not be good/... may have to change back to @index + 1
|
108
|
+
return pe[ @index .. pe.size + 1 ]
|
109
|
+
end
|
110
|
+
|
111
|
+
# not categorized
|
112
|
+
def hasNextSymbol?( symbol )
|
113
|
+
return false if isAtEnd? == true
|
114
|
+
return symbol == nextGrammarSymbol
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
118
|
+
end
|
@@ -0,0 +1,577 @@
|
|
1
|
+
module XI
|
2
|
+
|
3
|
+
require 'nist/xiacc/InstanceManager'
|
4
|
+
require 'nist/xiacc/ParseTreeNode'
|
5
|
+
require 'nist/xiacc/NonTerminal'
|
6
|
+
require 'nist/xiacc/EndMarker'
|
7
|
+
require 'nist/xiacc/Epsilon'
|
8
|
+
require 'nist/xiacc/CCArrayAddon'
|
9
|
+
require 'nist/xiacc/CCStringAddon'
|
10
|
+
require 'nist/xiacc/CCHashAddon'
|
11
|
+
require 'nist/xiacc/GrammarString'
|
12
|
+
require 'nist/xiacc/ItemSet'
|
13
|
+
require 'nist/xiacc/TerminalDescription'
|
14
|
+
require 'nist/xiacc/CCAction'
|
15
|
+
require 'nist/xiacc/Shortcut'
|
16
|
+
|
17
|
+
class Language < InstanceManager
|
18
|
+
|
19
|
+
attr :terminalDict, true
|
20
|
+
attr :nonTerminalDict, true
|
21
|
+
attr :terminals, true
|
22
|
+
attr :nonTerminals, true
|
23
|
+
attr :productionDict, true
|
24
|
+
attr :startProduction, true
|
25
|
+
attr :firstDict, true
|
26
|
+
attr :followsDict, true
|
27
|
+
attr :terminalDescriptions, true
|
28
|
+
|
29
|
+
def initialize
|
30
|
+
@terminalDict = Hash.new
|
31
|
+
@terminalDescriptions = Hash.new
|
32
|
+
@nonTerminalDict = Hash.new
|
33
|
+
@productionDict = Hash.new
|
34
|
+
@firstDict = Hash.new
|
35
|
+
@followsDict = Hash.new
|
36
|
+
|
37
|
+
@terminalDict[ "epsilon" ] = Epsilon.default
|
38
|
+
@terminalDict[ "endMarker" ] = EndMarker.default
|
39
|
+
end
|
40
|
+
|
41
|
+
# tests
|
42
|
+
def Language.page195
|
43
|
+
answer = Language.new
|
44
|
+
answer.setTerminalCharacters( "a b c d e" )
|
45
|
+
answer.setNonTerminalNames( "S A B" )
|
46
|
+
answer.addExpansionList( "S -> a A B e" )
|
47
|
+
answer.addExpansionList( "A -> A b c" )
|
48
|
+
answer.addExpansionList( "A -> b" )
|
49
|
+
answer.addExpansionList( "B -> d" )
|
50
|
+
answer
|
51
|
+
end
|
52
|
+
|
53
|
+
def Language.page231
|
54
|
+
answer = Language.new
|
55
|
+
answer.setTerminalCharacters( "c d" )
|
56
|
+
answer.setNonTerminalNames( "S C" )
|
57
|
+
answer.addExpansionList( "S -> C C" )
|
58
|
+
answer.addExpansionList( "C -> c C" )
|
59
|
+
answer.addExpansionList( "C -> d" )
|
60
|
+
answer
|
61
|
+
end
|
62
|
+
|
63
|
+
def Language.page222
|
64
|
+
answer = Language.new
|
65
|
+
answer.setTerminalCharacters( "( ) * + id" )
|
66
|
+
answer.setNonTerminalNames( "E T F" )
|
67
|
+
answer.addExpansionList( "E -> E + T" )
|
68
|
+
answer.addExpansionList( "E -> T" )
|
69
|
+
answer.addExpansionList( "T -> T * F" )
|
70
|
+
answer.addExpansionList( "T -> F" )
|
71
|
+
answer.addExpansionList( "F -> ( E )" )
|
72
|
+
answer.addExpansionList( "F -> id" )
|
73
|
+
answer
|
74
|
+
end
|
75
|
+
|
76
|
+
def Language.wth
|
77
|
+
answer = Language.new
|
78
|
+
answer.setTerminalCharacters( "a b c d" )
|
79
|
+
answer.setNonTerminalNames( "E A" )
|
80
|
+
answer.addExpansionList( "E -> A b" )
|
81
|
+
answer.addExpansionList( "A -> a" )
|
82
|
+
answer
|
83
|
+
end
|
84
|
+
|
85
|
+
def Language.pageX
|
86
|
+
answer = Language.new
|
87
|
+
answer.addTerminalDescription( "digi", Regexp.compile( /[[:digit:]]/ ) )
|
88
|
+
answer.addTerminalDescription( "o", Regexp.compile( /[abc]/ ) )
|
89
|
+
answer.setNonTerminalNames( "E A" )
|
90
|
+
answer.addExpansionList( "E -> A" )
|
91
|
+
answer.addExpansionList( "A -> digi A" )
|
92
|
+
answer.addExpansionList( "A -> o A" )
|
93
|
+
answer.addExpansionList( "A -> digi" )
|
94
|
+
answer.addExpansionList( "A -> o" )
|
95
|
+
answer
|
96
|
+
end
|
97
|
+
|
98
|
+
def Language.pageXY
|
99
|
+
answer = Language.new
|
100
|
+
answer.addTerminalDescription( "digi", Regexp.compile( /[[:digit:]]/ ) )
|
101
|
+
answer.addTerminalDescription( "o", Regexp.compile( /[abc]/ ) )
|
102
|
+
answer.setNonTerminalNames( "E A" )
|
103
|
+
answer.addExpansionList( "E -> A" )
|
104
|
+
answer.addExpansionList( [ "A -> digi", Proc.new { print "hi!!!\n" }, "A" ] )
|
105
|
+
answer.addExpansionList( "A -> digi" )
|
106
|
+
answer.addExpansionList( "A -> o A" )
|
107
|
+
answer.addExpansionList( "A -> o" )
|
108
|
+
answer
|
109
|
+
end
|
110
|
+
|
111
|
+
def Language.pageXYZ
|
112
|
+
answer = Language.new
|
113
|
+
answer.addTerminalDescription( "digi", Regexp.compile( /[[:digit:]]/ ) )
|
114
|
+
answer.addTerminalDescription( "o", Regexp.compile( /[abc]/ ) )
|
115
|
+
answer.setNonTerminalNames( "E A" )
|
116
|
+
answer.addExpansionList( "E -> A" )
|
117
|
+
answer.addExpansionList( [ "A -> digi.a digi.d", CCAction.new( 'print "hi #{a} #{d}!!!\n"' ), "A" ] )
|
118
|
+
answer.addExpansionList( "A -> digi" )
|
119
|
+
answer.addExpansionList( "A -> o.num A" )
|
120
|
+
answer.addExpansionList( "A -> o" )
|
121
|
+
answer
|
122
|
+
end
|
123
|
+
|
124
|
+
def Language.addition
|
125
|
+
answer = Language.new
|
126
|
+
answer.addTerminalDescription( "digi", Regexp.compile( /[[:digit:]]/ ) )
|
127
|
+
answer.setTerminalCharacters( "+" )
|
128
|
+
answer.setNonTerminalNames( "E" )
|
129
|
+
answer.addExpansionList( [ "E -> digi.l - digi.r", CCAction.new( 'print "l: #{l} r: #{r} addition: #{l.to_i + r.to_i}\n"' ) ] )
|
130
|
+
answer
|
131
|
+
end
|
132
|
+
|
133
|
+
def Language.regularExpressions
|
134
|
+
answer = Language.new
|
135
|
+
# specials = Array.new
|
136
|
+
specials = "\\ | ^ * + ( ) ?" # .each_byte { |val| specials.push( val ) }
|
137
|
+
digits = "0 1 2 3 4 5 6 6 7 8 9"
|
138
|
+
answer.setTerminalCharacters( specials )
|
139
|
+
answer.addTerminalDescription( "Digit", Regexp.compile( /[[:digit:]]/ ) )
|
140
|
+
answer.addTerminalDescription( "Char", Regexp.compile( /[[:alpha:]]/ ) )
|
141
|
+
answer.setNonTerminalNames( "Parenthesized Concatenation Alternative Closure BinaryOperand ClosureOp Literal Op Power UnaryOperand CountingNumber Expression Augmented ContingNum" )
|
142
|
+
answer.addExpansionList( "Augmented -> Expression" )
|
143
|
+
answer.addExpansionList( "Expression -> Concatenation" )
|
144
|
+
answer.addExpansionList( "Expression -> Alternative" )
|
145
|
+
answer.addExpansionList( "Expression -> BinaryOperand" )
|
146
|
+
answer.addExpansionList( "Parenthesized -> ( Expression )" )
|
147
|
+
answer.addExpansionList( "Concatenation -> BinaryOperand BinaryOperand" )
|
148
|
+
answer.addExpansionList( "Concatenation -> BinaryOperand Concatenation" )
|
149
|
+
answer.addExpansionList( "Alternative -> BinaryOperand | BinaryOperand" )
|
150
|
+
answer.addExpansionList( "Alternative -> BinaryOperand | Alternative" )
|
151
|
+
answer.addExpansionList( "Closure -> UnaryOperand ClosureOp" )
|
152
|
+
answer.addExpansionList( "BinaryOperand -> UnaryOperand" )
|
153
|
+
answer.addExpansionList( "BinaryOperand -> Closure" )
|
154
|
+
answer.addExpansionList( "BinaryOperand -> Power" )
|
155
|
+
answer.addExpansionList( "UnaryOperand -> Char" )
|
156
|
+
answer.addExpansionList( "UnaryOperand -> Digit" )
|
157
|
+
answer.addExpansionList( "UnaryOperand -> Literal" )
|
158
|
+
answer.addExpansionList( "UnaryOperand -> Parenthesized" )
|
159
|
+
answer.addExpansionList( "ClosureOp -> *" )
|
160
|
+
answer.addExpansionList( "ClosureOp -> +" )
|
161
|
+
answer.addExpansionList( "ClosureOp -> ?" )
|
162
|
+
answer.addExpansionList( "Literal -> \ Op" )
|
163
|
+
answer.addExpansionList( "Op -> \\" )
|
164
|
+
answer.addExpansionList( "Op -> |" )
|
165
|
+
answer.addExpansionList( "Op -> ^" )
|
166
|
+
answer.addExpansionList( "Op -> ClosureOp" )
|
167
|
+
answer.addExpansionList( "Power -> UnaryOperand ^ CountingNumber" )
|
168
|
+
answer.addExpansionList( "CountingNumber -> Digit" )
|
169
|
+
answer.addExpansionList( "CountingNumber -> Digit CountingNumber" )
|
170
|
+
answer
|
171
|
+
end
|
172
|
+
|
173
|
+
#def Language.expansionDescription
|
174
|
+
# answer = Language.new
|
175
|
+
# answer.addTerminalDescription( "word", Regexp.compile( /[[:alpha:]]([[:alpha:]]|[[:digit:]])*/ ) )
|
176
|
+
# answer.addTerminalDescription( "number", Regexp.compile( /([[:digit]])+/ ) )
|
177
|
+
# answer.addTerminalTerminalCharacters( "| ->" )
|
178
|
+
# answer.addExpansionList( "S -> EXPRESSION" )
|
179
|
+
# answer.addExpansionList( "EXPRESSION -> WORD EXPRESSION" )
|
180
|
+
# answer.addExpansionList( "EXPRESSION -> endMarker" )
|
181
|
+
# answer.addExpansionList( "WORD -> word" )
|
182
|
+
# answer.addExpansionList( "WORD -> word WORD" )
|
183
|
+
|
184
|
+
# answer.addExpansionList( "word -> words" )
|
185
|
+
# answer.addExpansionList( "word -> word | word" )
|
186
|
+
# answer
|
187
|
+
#end
|
188
|
+
|
189
|
+
# definition (declarations)
|
190
|
+
def setNonTerminalName( aSymbol )
|
191
|
+
setNonTerminalNameWithClass( aSymbol, ParseTreeNode.new )
|
192
|
+
end
|
193
|
+
|
194
|
+
def setNonTerminalNameWithClass( aSymbol, aClass )
|
195
|
+
n = NonTerminal.new
|
196
|
+
n.name = aSymbol
|
197
|
+
n.nodeClass = aClass
|
198
|
+
@nonTerminalDict[ aSymbol ] = n
|
199
|
+
end
|
200
|
+
|
201
|
+
def setNonTerminalNames( namess )
|
202
|
+
if namess.class == String
|
203
|
+
names = namess.split( " " )
|
204
|
+
end
|
205
|
+
names.each { |name| setNonTerminalName( name ) }
|
206
|
+
end
|
207
|
+
|
208
|
+
def setTerminalCharacter( aCharacter )
|
209
|
+
setTerminalNameWithValue( aCharacter, aCharacter )
|
210
|
+
end
|
211
|
+
|
212
|
+
def setTerminalCharacters( aString )
|
213
|
+
aString.split( " " ).each { |b| str = String.new ; str << b ; setTerminalCharacter( str ) if str != " " }
|
214
|
+
end
|
215
|
+
|
216
|
+
def setTerminalNameWithAlternatives( aSymbol, aStringOrCollection )
|
217
|
+
cic = CollectionInclusionComparator.new
|
218
|
+
cic.collection = aStringOrCollection.as_a
|
219
|
+
setTerminalNameWithValue( aSymbol, cic )
|
220
|
+
end
|
221
|
+
|
222
|
+
def setTerminalNameWithCharacterClass( aSymbol, aStringOrCollection )
|
223
|
+
setTerminalNameWithAlternatives( aSymbol, aStringOrCollection )
|
224
|
+
end
|
225
|
+
|
226
|
+
def setTerminalNameWithCharacterExclusion( aSymbol, aStringOrCollection )
|
227
|
+
setTerminalNameWithExclusion( aSymbol, aStringOrCollection, [ Fixnum ] )
|
228
|
+
end
|
229
|
+
|
230
|
+
def setTerminalNameWithExclusion( aSymbol, aStringOrCollection, classCollection )
|
231
|
+
rcec = RestrictedCollectionExclusionComparator.new
|
232
|
+
rcec.collection = aStringOrCollection.as_a
|
233
|
+
rcec.classes = classCollection
|
234
|
+
setTerminalNameWithValue( aSymbol, rcec )
|
235
|
+
end
|
236
|
+
|
237
|
+
def setTerminalNameWithValue( aSymbol, anObject )
|
238
|
+
t = Terminal.nameAndValue( aSymbol, anObject )
|
239
|
+
t.description = nil # aSymbol
|
240
|
+
@terminalDict[ aSymbol ] = t
|
241
|
+
end
|
242
|
+
|
243
|
+
def addExpansionList( symbols )
|
244
|
+
#print "+addExpansionList+\n"
|
245
|
+
#action( nil, aSequencableCollectionOfSymbols )
|
246
|
+
|
247
|
+
expansionList = symbols
|
248
|
+
|
249
|
+
grammarString = GrammarString.new
|
250
|
+
alternatives = Array.new
|
251
|
+
actions = Hash.new
|
252
|
+
newExpansionList = Array.new
|
253
|
+
# order matters for shortcuts
|
254
|
+
shortcuts = Array.new
|
255
|
+
|
256
|
+
#print "expansionList: #{expansionList.to_s}\n"
|
257
|
+
|
258
|
+
# find out here how the array is structured..
|
259
|
+
# it can be structed in two ways:
|
260
|
+
# 1. The basic way
|
261
|
+
# [ "A", "->", "B", "+", "C" ]
|
262
|
+
# 2. With actions
|
263
|
+
# [ "A -> B", Proc.new { ..... }, "+ C" ]
|
264
|
+
# 3. With actions and/or shortcuts
|
265
|
+
# [ "A -> B.d", Proc.new { |d| ..... }, "+ C" ]
|
266
|
+
# [ "A -> B.l + C.r", Proc.new { |l, r| ..... } ]
|
267
|
+
|
268
|
+
########################## Parse actions and find shortcuts ############################
|
269
|
+
# ridx is the "Real index" of the resulting array .. which can differ from the input
|
270
|
+
# array because of actions
|
271
|
+
ridx = 0
|
272
|
+
|
273
|
+
### flatten out the expansionList
|
274
|
+
expansionList.each do
|
275
|
+
|symbol|
|
276
|
+
toAdd = symbol if symbol.class == Array or symbol.class == CCAction
|
277
|
+
toAdd = symbol.split( " " ) if symbol.class == String
|
278
|
+
#print "Adding toAdd: #{toAdd.join( " " ).to_s}\n"
|
279
|
+
newExpansionList.addAll( toAdd ) if toAdd.class == Array
|
280
|
+
newExpansionList.push( toAdd ) if toAdd.class == CCAction
|
281
|
+
end
|
282
|
+
expansionList = newExpansionList
|
283
|
+
|
284
|
+
### get rid of the nonTerminal and -> in the beginning
|
285
|
+
nonTerminal = nonTerminalNamed( expansionList.shift )
|
286
|
+
expansionList.shift if expansionList.first == "->"
|
287
|
+
self.unfinishedExpansionList() if expansionList.empty? == true
|
288
|
+
|
289
|
+
### parse out the actions, and initialize them
|
290
|
+
newExpansionList = Array.new
|
291
|
+
expansionList.size.times do
|
292
|
+
|idx|
|
293
|
+
symbol = expansionList[ idx ]
|
294
|
+
## take care of the shortcuts. for example, say we have:
|
295
|
+
## [ "A -> B.d", Proc.new { |d| ..... }, "+ C" ] as the input
|
296
|
+
## The first "toAdd" would be "A -> B.d"
|
297
|
+
## This algorithm just splits A -> B.d into another array and prepends
|
298
|
+
## it onto the final array.. and makes sure the shortcuts are in the
|
299
|
+
## right indices
|
300
|
+
if symbol.class != CCAction
|
301
|
+
toAdd = symbol
|
302
|
+
if ( splits = symbol.split( "." ) ).size == 2
|
303
|
+
hmm = nonTerminalDict[ splits.first ]
|
304
|
+
hmm = terminalDict[ splits.first ] if hmm == nil
|
305
|
+
error( "Unable to find a terminal/nonTerminal named #{splits.first}" ) if hmm == nil
|
306
|
+
shortcuts.push( Shortcut.new( ridx, hmm, splits[ 1 ], nil ) )
|
307
|
+
toAdd = splits.first
|
308
|
+
end
|
309
|
+
newExpansionList.push( toAdd )
|
310
|
+
# since this isn't an action, move the real index along
|
311
|
+
# we want it to stay the same during an action
|
312
|
+
ridx = ridx + 1
|
313
|
+
else
|
314
|
+
action = symbol
|
315
|
+
index = ridx - 1 if ridx > 0
|
316
|
+
index = 0 if ridx == 0
|
317
|
+
action.index = ridx
|
318
|
+
shortcutsToAdd = shortcuts.select { |shortcut| shortcut.index < ridx }
|
319
|
+
#print "idx: #{idx} shortcuts to add: #{shortcutsToAdd.join( " " )}\n"
|
320
|
+
action.setShortcuts( shortcutsToAdd )
|
321
|
+
action.finalizeAction
|
322
|
+
actions[ ridx ] = action
|
323
|
+
end
|
324
|
+
end
|
325
|
+
expansionList = newExpansionList
|
326
|
+
|
327
|
+
########################################################################################
|
328
|
+
############################# Parse Shortcuts ##########################################
|
329
|
+
########################################################################################
|
330
|
+
|
331
|
+
symbols = expansionList.collect { |symbol| grammarSymbolNamed( symbol ) }
|
332
|
+
|
333
|
+
alternatives = @productionDict[ nonTerminal ] if @productionDict.has_key?( nonTerminal )
|
334
|
+
@productionDict[ nonTerminal ] = alternatives if !@productionDict.has_key?( nonTerminal )
|
335
|
+
|
336
|
+
grammarString.addAll( symbols )
|
337
|
+
newProduction = Production.new( nonTerminal, actions, shortcuts, grammarString )
|
338
|
+
alternatives.push( newProduction )
|
339
|
+
@startProduction = newProduction if @startProduction == nil
|
340
|
+
#print "-addExpansionList-\n"
|
341
|
+
newProduction
|
342
|
+
end
|
343
|
+
|
344
|
+
def oldExpansionList
|
345
|
+
if toAdd != nil
|
346
|
+
toAdd.size.times do
|
347
|
+
|idx|
|
348
|
+
if toAdd[ idx ].class != CCAction
|
349
|
+
splits = toAdd[ idx ].split( "." )
|
350
|
+
# if we have something like "D.l"
|
351
|
+
if splits.size == 2
|
352
|
+
# shave off the shortcut from toAdd, and store it into shortcuts
|
353
|
+
shortcuts = Hash.new if shortcuts == nil
|
354
|
+
shortcutsOrder = Hash.new if shortcutsOrder == nil
|
355
|
+
# compensate for the "A ->" part in the beginning by shifting left
|
356
|
+
shortcuts[ ridx ] = splits[ -1 ]
|
357
|
+
shortcutsOrder[ shortcuts[ ridx ] ] = shortcutIdx
|
358
|
+
# for a string like "A.d", just add "A" onto toAdd
|
359
|
+
toAdd[ idx ] = splits[ 0 ]
|
360
|
+
shortcutIdx = shortcutIdx + 1
|
361
|
+
end
|
362
|
+
ridx = ridx + 1
|
363
|
+
end
|
364
|
+
end
|
365
|
+
#print "ridx is: #{ridx}\n"
|
366
|
+
#print "toAdd is: #{toAdd.join( " and " )}\n"
|
367
|
+
#print "shortcuts: #{shortcuts.keys.join( " and " )} #{shortcuts.values.join( " and " )}\n and shortcutsOrder: #{shortcutsOrder.keys.join( " and " )}\n" if shortcuts != nil
|
368
|
+
end
|
369
|
+
# newExpansionList.addAll( toAdd ) if symbol.class == Array or symbol.class == String
|
370
|
+
newExpansionList.addAll( toAdd ) if toAdd.class == Array or toAdd.class == String
|
371
|
+
|
372
|
+
## take care of the actions
|
373
|
+
if symbol.class == CCAction
|
374
|
+
symbol.index = ridx
|
375
|
+
symbol.setShortcuts( shortcuts.invert, shortcutsOrder )
|
376
|
+
symbol.finalizeAction
|
377
|
+
actions[ ridx - lshift ] = symbol
|
378
|
+
#print "set action to index: #{ridx - lshift} with symbol: #{symbol} ridx is: #{ridx}\n"
|
379
|
+
ridx = ridx - 1
|
380
|
+
#exit
|
381
|
+
end
|
382
|
+
ridx = ridx + 1
|
383
|
+
#print "Actions size: #{actions.size}\n"
|
384
|
+
actions.each_pair { |key,value| "key: #{key} value: #{value}\n" } if actions.size > 0
|
385
|
+
$defout.flush
|
386
|
+
#exit
|
387
|
+
expansionList = newExpansionList if newExpansionList.size > 0
|
388
|
+
expansionList = expansionList.split( " " ) if expansionList.class == String
|
389
|
+
end
|
390
|
+
|
391
|
+
# errors
|
392
|
+
def redundantAugmentation; self.error( "This language has already been augmented (or the augmentedStart symbol used previously" ); end
|
393
|
+
def unfinishedExpansionList; self.error( "Unfinished expansionList" ); end
|
394
|
+
def unregisteredGrammarSymbolNamed( aSymbol ); self.error( "Reference to unregistered GrammarSymbol named: #{aSymbol}" ); end
|
395
|
+
def unregisteredNonTerminalNamed( aSymbol ); self.error( "Error: Reference to unregistered NonTerminal named: #{aSymbol}" ); end
|
396
|
+
def unregisteredTerminalNamed( aSymbol ); self.error( "Reference to unregistered Terminal named #{aSymbol}" ); end
|
397
|
+
|
398
|
+
# lookups
|
399
|
+
def grammarSymbolNamed( aSymbol )
|
400
|
+
return testAbsenseForGrammarSymbolNamed( aSymbol ) { unregisteredGrammarSymbolNamed( aSymbol ) }
|
401
|
+
end
|
402
|
+
|
403
|
+
def testAbsenseForGrammarSymbolNamed( aSymbol, &noArgBlock )
|
404
|
+
#print "Testing absense for grammar symbol named: #{aSymbol}\n"
|
405
|
+
return testAbsenseForNonTerminalNamed( aSymbol ) { return testAbsenseForTerminalNamed( aSymbol ) { noArgBlock.call } }
|
406
|
+
end
|
407
|
+
|
408
|
+
def nonTerminalNamed( aSymbol )
|
409
|
+
return testAbsenseForNonTerminalNamed( aSymbol ) { unregisteredNonTerminalNamed( aSymbol ) }
|
410
|
+
end
|
411
|
+
|
412
|
+
def testAbsenseForNonTerminalNamed( aSymbol, &noArgBlock )
|
413
|
+
#@nonTerminalDict[ aSymbol ] = noArgBlock if @nonTerminalDict[ aSymbol ] == nil
|
414
|
+
#@nonTerminalDict.each_pair { |key, value| print "Key: |#{key}| and value: |#{value}|\n" }
|
415
|
+
noArgBlock.call if !@nonTerminalDict.has_key?( aSymbol )
|
416
|
+
@nonTerminalDict[ aSymbol ]
|
417
|
+
end
|
418
|
+
|
419
|
+
def productionsForNonTerminal( aNonTerminal )
|
420
|
+
@productionDict[ aNonTerminal ]
|
421
|
+
end
|
422
|
+
|
423
|
+
def terminalNamed( aSymbol )
|
424
|
+
testAbsenseForTerminalNamed( aSymbol ) { unregisteredTerminalNamed( aSymbol ) }
|
425
|
+
end
|
426
|
+
|
427
|
+
def testAbsenseForTerminalNamed( aSymbol, &noArgBlock )
|
428
|
+
#print "testing absense for terminal: #{aSymbol}\n"
|
429
|
+
#print "printing dict now, symbol is: #{aSymbol}: \n"
|
430
|
+
#print "its value: #{@terminalDict[aSymbol.to_sym]}\n"
|
431
|
+
#@terminalDict.each_pair { |key, value| print "Key: |#{key}| and value: |#{value}|\n" }
|
432
|
+
noArgBlock.call if @terminalDict.has_key?( aSymbol ) == false
|
433
|
+
#print "pretty printing it: "
|
434
|
+
#pp @terminalDict[ aSymbol ]
|
435
|
+
return @terminalDict[ aSymbol ]
|
436
|
+
end
|
437
|
+
|
438
|
+
# operations
|
439
|
+
def augment
|
440
|
+
# Converts the language into an augmented language
|
441
|
+
# see page 222, 'compilers: principles, techniques, and tools' by aho, sethi, and ullman
|
442
|
+
if !isDefined?
|
443
|
+
notDefined
|
444
|
+
end
|
445
|
+
if @terminalDict.has_key?( augmentedStartName )
|
446
|
+
redundantAugmentation
|
447
|
+
end
|
448
|
+
setNonTerminalName( augmentedStartName )
|
449
|
+
@startProduction = addExpansionList( [ augmentedStartName, @startProduction.nonTerminal.name ] )
|
450
|
+
end
|
451
|
+
|
452
|
+
def augmentedStartName
|
453
|
+
"AugmentedStart"
|
454
|
+
end
|
455
|
+
|
456
|
+
def errorCycle_first
|
457
|
+
# this is an extremely private method...
|
458
|
+
processor = Processor.new
|
459
|
+
processor.frameStackSize = 200
|
460
|
+
processor.methodNamed( "unprotectedFirst" )
|
461
|
+
processor.processedBy = Proc.new {
|
462
|
+
|frames|
|
463
|
+
continue = true
|
464
|
+
answer = Array.new
|
465
|
+
frames.each {
|
466
|
+
|frame|
|
467
|
+
if continue == true
|
468
|
+
newArg = frame.arguments.first
|
469
|
+
answer.unshift( newArg )
|
470
|
+
continue = ( answer.size < 2 or answer.last =~ newArg )
|
471
|
+
end
|
472
|
+
}
|
473
|
+
answer
|
474
|
+
}
|
475
|
+
end
|
476
|
+
|
477
|
+
def first( aGrammarStringOrGrammarSymbol )
|
478
|
+
#print "in first, type is: #{aGrammarStringOrGrammarSymbol.class.to_s}\n"
|
479
|
+
answer = setUnprotectedFirst( aGrammarStringOrGrammarSymbol )
|
480
|
+
answer
|
481
|
+
end
|
482
|
+
|
483
|
+
def follow( nonTerminal )
|
484
|
+
@followsDict[ nonTerminal ] = nonTerminal.followsWithinLanguage( self ) if !@followsDict.has_key?( nonTerminal )
|
485
|
+
@followsDict[ nonTerminal ]
|
486
|
+
end
|
487
|
+
|
488
|
+
def unprotectedFirst( aGrammarStringOrGrammarSymbol )
|
489
|
+
#print "unprotectedfirst.... printing it: \n"
|
490
|
+
#@firstDict.each_pair { |one, two| print "first: #{one.to_s} has type: #{one.class.to_s} last: #{two.to_a.join( " and " )}\n" }
|
491
|
+
@firstDict[ aGrammarStringOrGrammarSymbol ] = aGrammarStringOrGrammarSymbol.firstWithinLanguage( self ) if @firstDict[ aGrammarStringOrGrammarSymbol ] == nil
|
492
|
+
@firstDict[ aGrammarStringOrGrammarSymbol ]
|
493
|
+
end
|
494
|
+
|
495
|
+
# query
|
496
|
+
def grammarSymbolNames; nonTerminalNames.join( " " ) + " " + terminalNames.join( " " ); end
|
497
|
+
|
498
|
+
def grammarSymbols
|
499
|
+
nts = nonTerminals
|
500
|
+
#print "nts is: #{nts.join( " " )} include A: " + nts.join( " " ).include?( "A" ).to_s + "\n"
|
501
|
+
terms = terminals #.join( " " ).to_a
|
502
|
+
array = nts.concat( terms )
|
503
|
+
array.join( " " )
|
504
|
+
end
|
505
|
+
|
506
|
+
def isDefined?; @startProduction != nil; end
|
507
|
+
def nonTerminalNames; @nonTerminalDict.keys.to_itemSet; end
|
508
|
+
def nonTerminals; @nonTerminalDict.values.to_itemSet; end
|
509
|
+
|
510
|
+
def productions
|
511
|
+
answer = Array.new
|
512
|
+
@productionDict.values each { |value| answer.addAll( value ) }
|
513
|
+
answer
|
514
|
+
end
|
515
|
+
|
516
|
+
def productionsFromNonTerminal( aGrammarSymbol )
|
517
|
+
val = @productionDict[ aGrammarSymbol ]
|
518
|
+
return val if val != nil
|
519
|
+
error( "Missing production for " + aGrammarSymbol.name )
|
520
|
+
end
|
521
|
+
|
522
|
+
def productionsWithExpansionContainingNonTerminal( aGrammarSymbol )
|
523
|
+
answer = Array.new
|
524
|
+
#print "\nproductiondict's size: #{@productionDict.size}\n"
|
525
|
+
#print "its values: #{@productionDict.values.join( " and " )}\n"
|
526
|
+
@productionDict.values.each do
|
527
|
+
|collection|
|
528
|
+
#print "looking at: #{collection.join( " and " )}\n"
|
529
|
+
collection.each do
|
530
|
+
|production|
|
531
|
+
if production.expansionContainsNonTerminal?( aGrammarSymbol )
|
532
|
+
answer.push( production )
|
533
|
+
end
|
534
|
+
end
|
535
|
+
end
|
536
|
+
#print "answer: "
|
537
|
+
#answer.each { |ans| print "#{ans.to_s} and " }
|
538
|
+
#print "\n"
|
539
|
+
answer
|
540
|
+
end
|
541
|
+
|
542
|
+
def startingNonTerminal; @startProduction.nonTerminal; end
|
543
|
+
def terminalNames; @terminalDict.keys.to_itemSet; end
|
544
|
+
def terminals; @terminalDict.values.to_itemSet; end
|
545
|
+
|
546
|
+
def setUnprotectedFirst( aGrammarStringOrGrammarSymbol )
|
547
|
+
#print "firstDict is: #{@firstDict.to_a.join( " and " )}\n"
|
548
|
+
@firstDict.testAbsenseFor( aGrammarStringOrGrammarSymbol.to_s ) { @firstDict[ aGrammarStringOrGrammarSymbol ] = aGrammarStringOrGrammarSymbol.firstWithinLanguage( self ) }
|
549
|
+
@firstDict[ aGrammarStringOrGrammarSymbol ]
|
550
|
+
end
|
551
|
+
|
552
|
+
def finalizeFirstAndFollow
|
553
|
+
#print "\n@@@@@@2nonTerminalDict has #{nonTerminalDict.values.size.to_s} values\n"
|
554
|
+
@terminalDict.values.each do
|
555
|
+
|terminal|
|
556
|
+
first( terminal )
|
557
|
+
#print "firstDict: #{@firstDict.to_a.join( " and " )}\n"
|
558
|
+
end
|
559
|
+
@nonTerminalDict.values.each do
|
560
|
+
|nonTerminal|
|
561
|
+
#print "doing nonTerminal #{nonTerminal}\n"
|
562
|
+
#print "**firstDict: "
|
563
|
+
first( nonTerminal )
|
564
|
+
#@firstDict.each_pair { |key,value| print "^key: #{key} and value: #{value} " }
|
565
|
+
#print "\n"
|
566
|
+
follow( nonTerminal )
|
567
|
+
end
|
568
|
+
end
|
569
|
+
|
570
|
+
def addTerminalDescription( name, pattern )
|
571
|
+
terminal = setTerminalNameWithValue( name, "" )
|
572
|
+
terminal.description = pattern
|
573
|
+
#@terminalDescriptions[ pattern ] = terminal
|
574
|
+
end
|
575
|
+
|
576
|
+
end
|
577
|
+
end
|