Professional Documents
Culture Documents
CSG Anbncn
CSG Anbncn
gramSensivContex = GramaticaSensivelContexto.new()
derivacoes.each do |sentencas|
sentencas.each do |w, substituicoes|
puts "#{w.inspect()}=>#{substituicoes.inspect()}"
end
end
$: << "C:/ruby teoria/lab/05/gsc"
Implementao Ruby
require 'GramaticaSensivelContexto'
gramSensivContex = GramaticaSensivelContexto.new()
derivacoes.each do |sentencas|
sentencas.each do |w, substituicoes|
puts "#{w.inspect()}=>#{substituicoes.inspect()}"
end
end
L(GSC) = { anbncn : n 1 }
p0 : SaSBC
p1 : S abC
p2 : CB BC
p3 : bB bb
p4 : bC bc
p5 : cC cc
Derivao de: abc
Passo de derivao Produo
"S"=>["aSBC", "aBC"]
"aSBC"=>["aaSBCBC", "aaBCBC"] p0 : SaSBC
"aBC"=>["abC"] p1 : S abC
"aaSBCBC"=>["aaaSBCBCBC", "aaaBCBCBC", "aaSBBCC"]
"aaBCBC"=>["aabCBC", "aaBBCC"]
"abC"=>["abc"] p4 : bC bc
Derivao de: aabbcc (63 passos)
"S"=>["aSBC", "aBC"]
"aSBC"=>["aaSBCBC", "aaBCBC"]
"aBC"=>["abC"]
"aaSBCBC"=>["aaaSBCBCBC", "aaaBCBCBC", "aaSBBCC"]
"aaBCBC"=>["aabCBC", "aaBBCC"]
"abC"=>["abc"]
"aaaSBCBCBC"=>["aaaaSBCBCBCBC", "aaaaBCBCBCBC", "aaaSBBCCBC"]
"aaaBCBCBC"=>["aaabCBCBC", "aaaBBCCBC"]
"aaSBBCC"=>["aaaSBCBBCC", "aaaBCBBCC"]
"aabCBC"=>["aabBCC", "aabcBC"]
"aaBBCC"=>["aabBCC"]
"abc"=>[]
"aaaaSBCBCBCBC"=>["aaaaaSBCBCBCBCBC", "aaaaaBCBCBCBCBC", "aaaaSBBCCBCBC"]
"aaaaBCBCBCBC"=>["aaaabCBCBCBC", "aaaaBBCCBCBC"]
"aaaSBBCCBC"=>["aaaaSBCBBCCBC", "aaaaBCBBCCBC", "aaaSBBCBCC"]
"aaabCBCBC"=>["aaabBCCBC", "aaabcBCBC"]
"aaaBBCCBC"=>["aaabBCCBC", "aaaBBCBCC"]
"aaaSBCBBCC"=>["aaaaSBCBCBBCC", "aaaaBCBCBBCC", "aaaSBBCBCC"]
"aaaBCBBCC"=>["aaabCBBCC", "aaaBBCBCC"]
"aabBCC"=>["aabbCC"]
"aabcBC"=>[]
"aaaaaSBCBCBCBCBC"=>["aaaaaaSBCBCBCBCBCBC", "aaaaaaBCBCBCBCBCBC", "aaaaaSBBCCBCBCBC"]
"aaaaaBCBCBCBCBC"=>["aaaaabCBCBCBCBC", "aaaaaBBCCBCBCBC"]
"aaaaSBBCCBCBC"=>["aaaaaSBCBBCCBCBC", "aaaaaBCBBCCBCBC", "aaaaSBBCBCCBC"]
"aaaabCBCBCBC"=>["aaaabBCCBCBC", "aaaabcBCBCBC"]
"aaaaBBCCBCBC"=>["aaaabBCCBCBC", "aaaaBBCBCCBC"]
"aaaaSBCBBCCBC"=>["aaaaaSBCBCBBCCBC", "aaaaaBCBCBBCCBC", "aaaaSBBCBCCBC"]
"aaaaBCBBCCBC"=>["aaaabCBBCCBC", "aaaaBBCBCCBC"]
"aaaSBBCBCC"=>["aaaaSBCBBCBCC", "aaaaBCBBCBCC", "aaaSBBBCCC"]
"aaabBCCBC"=>["aaabBCBCC", "aaabbCCBC"]
"aaabcBCBC"=>["aaabcBBCC"]
"aaaBBCBCC"=>["aaabBCBCC", "aaaBBBCCC"]
"aaaaSBCBCBBCC"=>["aaaaaSBCBCBCBBCC", "aaaaaBCBCBCBBCC", "aaaaSBBCCBBCC"]
"aaaaBCBCBBCC"=>["aaaabCBCBBCC", "aaaaBBCCBBCC"]
"aaabCBBCC"=>["aaabBCBCC", "aaabcBBCC"]
"aabbCC"=>["aabbcC"]
"aaaaaaSBCBCBCBCBCBC"=>["aaaaaaaSBCBCBCBCBCBCBC", "aaaaaaaBCBCBCBCBCBCBC", "aaaaaaSBBCCBCBCBCBC"]
"aaaaaaBCBCBCBCBCBC"=>["aaaaaabCBCBCBCBCBC", "aaaaaaBBCCBCBCBCBC"]
"aaaaaSBBCCBCBCBC"=>["aaaaaaSBCBBCCBCBCBC", "aaaaaaBCBBCCBCBCBC", "aaaaaSBBCBCCBCBC"]
"aaaaabCBCBCBCBC"=>["aaaaabBCCBCBCBC", "aaaaabcBCBCBCBC"]
"aaaaaBBCCBCBCBC"=>["aaaaabBCCBCBCBC", "aaaaaBBCBCCBCBC"]
"aaaaaSBCBBCCBCBC"=>["aaaaaaSBCBCBBCCBCBC", "aaaaaaBCBCBBCCBCBC", "aaaaaSBBCBCCBCBC"]
"aaaaaBCBBCCBCBC"=>["aaaaabCBBCCBCBC", "aaaaaBBCBCCBCBC"]
"aaaaSBBCBCCBC"=>["aaaaaSBCBBCBCCBC", "aaaaaBCBBCBCCBC", "aaaaSBBBCCCBC"]
"aaaabBCCBCBC"=>["aaaabBCBCCBC", "aaaabbCCBCBC"]
"aaaabcBCBCBC"=>["aaaabcBBCCBC"]
"aaaaBBCBCCBC"=>["aaaabBCBCCBC", "aaaaBBBCCCBC"]
"aaaaaSBCBCBBCCBC"=>["aaaaaaSBCBCBCBBCCBC", "aaaaaaBCBCBCBBCCBC", "aaaaaSBBCCBBCCBC"]
"aaaaaBCBCBBCCBC"=>["aaaaabCBCBBCCBC", "aaaaaBBCCBBCCBC"]
"aaaabCBBCCBC"=>["aaaabBCBCCBC", "aaaabcBBCCBC"]
"aaaaSBCBBCBCC"=>["aaaaaSBCBCBBCBCC", "aaaaaBCBCBBCBCC", "aaaaSBBCBCBCC"]
"aaaaBCBBCBCC"=>["aaaabCBBCBCC", "aaaaBBCBCBCC"]
"aaaSBBBCCC"=>["aaaaSBCBBBCCC", "aaaaBCBBBCCC"]
"aaabBCBCC"=>["aaabBBCCC", "aaabbCBCC"]
"aaabbCCBC"=>["aaabbCBCC", "aaabbcCBC"]
"aaabcBBCC"=>[]
"aaaBBBCCC"=>["aaabBBCCC"]
"aaaaaSBCBCBCBBCC"=>["aaaaaaSBCBCBCBCBBCC", "aaaaaaBCBCBCBCBBCC", "aaaaaSBBCCBCBBCC"]
"aaaaaBCBCBCBBCC"=>["aaaaabCBCBCBBCC", "aaaaaBBCCBCBBCC"]
"aaaaSBBCCBBCC"=>["aaaaaSBCBBCCBBCC", "aaaaaBCBBCCBBCC", "aaaaSBBCBCBCC"]
"aaaabCBCBBCC"=>["aaaabBCCBBCC", "aaaabcBCBBCC"]
"aaaaBBCCBBCC"=>["aaaabBCCBBCC", "aaaaBBCBCBCC"]
"aabbcC"=>["aabbcc"]
Derivao de: aabbcc (63 passos)
Passo de derivao Pr.
"S"=>["aSBC", "aBC"] Ex.
"aSBC"=>["aaSBCBC", "aaBCBC"] Ex.
"aBC"=>["abC"] Ex.
...
"aaaaSBBCCBBCC"=>["aaaaaSBCBBCCBBCC", "aaaaaBCBBCCBBCC", "aaaaSBBCBCBCC"] Ex.
"aaaaBBCCBBCC"=>["aaaabBCCBBCC", "aaaaBBCBCBCC"] Ex.
"aabbcC"=>["aabbcc"] Ex.
Attached files
This presentation:
CSG-anbncn.pptx
CSG-anbncn.pdf
Ruby scripts:
CSG-anbncn.rb
Execution traces:
CSG-anbncn???steps.txt